`
cysnow
  • 浏览: 29971 次
文章分类
社区版块
存档分类
最新评论

Velocity引擎渲染html格式邮件模版乱码问题

阅读更多

java 发送邮件,可以选择spring接口或javamail,网上关于这两种方式的代码有很多。


如果需要发送html格式的邮件,使用模版会比较方便。


BodyPart html = new MimeBodyPart();
			
html.setContent(content, "text/html; charset=UTF-8");
 


其中content利用VelocityEngineUtils的mergeTemplateIntoString方法渲染。


String content = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "mailTemplate.vm", "GBK", map);


注意velocityEngine一定要这样配置,否则会乱码。乱的一塌糊涂~~~~


<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
	<property name="velocityProperties">  
              <props> 
                  <prop key="input.encoding">GBK</prop>  
                  <prop key="output.encoding">GBK</prop>  
                  <prop key="default.contentType">text/html; charset=GBK</prop>  
              </props>  
        </property>
</bean>
 


原因:(Eclipse下)右键点击你的mailTemplate.vm模版文件,选择属性Properties,发现



Eclipse中的Text File Encoding代表查看文件时的编码,也就是说文件本来的编码是GBK,所以你用GBK查看才不会乱码。如果本来是GBK的编码,在Eclipse中用UTF-8去查看,肯定显示乱码。


so,velocityEngine渲染时,同理,也需用GBK,否则无法解析你的vm或jsp模版文件。


而vm页面中的charset是搜索引擎用来解析的,跟渲染无关。


 

 

  • 大小: 7.7 KB
分享到:
评论

相关推荐

    java发送HTML模版邮件

    在实际应用中,你可能还需要考虑错误处理、邮件附件、多语言支持等问题,以及更复杂的模板引擎如FreeMarker或Velocity来动态生成HTML内容。希望这个概述能帮助你理解并实现自己的Java邮件发送功能。

    Velocity模板引擎Velocity模板引擎

    Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎

    velocity实现邮件模板定制

    在IT行业中,Velocity是一个强大的模板引擎,常用于生成动态内容,比如HTML页面、电子邮件模板定制等。本篇文章将深入探讨如何使用Velocity实现邮件模板的定制,以及与之相关的源码和工具。 首先,Velocity的基本...

    JavaScript模板引擎Velocity.js.zip

    Velocity 是基于Java的模板引擎,广泛应用在阿里集 体各个子公司。Velocity模板适用于大量模板使用的场景,支持复杂的逻辑运算,包含 基本数据类型、变量赋值和函数等功能。Velocity.js 支持 Node.js 和浏览器环境。...

    sitemesh2 集成velocity 装饰页面乱码

    集成sitemesh2和velocity时,可能会遇到页面乱码问题。这通常是由于字符编码设置不一致导致的。为解决这个问题,我们需要确保以下几个方面都使用了正确的字符编码: 1. **项目配置**:确保你的项目配置文件(如web....

    spring+velocity发送邮件

    根据提供的信息,我们可以详细探讨如何使用Spring框架结合Velocity模板引擎来实现邮件的自动化发送功能。这一过程涉及到Spring框架的基本配置、Velocity模板引擎的使用以及JavaMail API的应用。 ### Spring框架与...

    邮件模版 velocity

    ### 邮件模板 Velocity 相关知识点 #### 一、引言 - **关于本指南** - 本指南旨在帮助页面设计者和内容提供者熟悉 Velocity 及其简单而强大的脚本语言——Velocity 模板语言 (VTL)。 - 本指南中的许多示例涉及...

    velocity开发包vm模板引擎

    接下来,通过Velocity引擎解析和渲染模板,生成最终的HTML输出。 例如,一个简单的Velocity模板可能如下所示: ```html &lt;html&gt; $title &lt;h1&gt;Welcome, $username! &lt;p&gt;Today is #formatDate($date, 'yyyy-MM-dd') ...

    velocity+itext导出pdf

    "Velocity"是一个强大的模板引擎,常用于动态生成HTML或者其他格式的文本,而"Itext"则是一款流行的Java库,专门用于创建和修改PDF文档。在这个场景中,我们将讨论如何结合Velocity和Itext来实现PDF的导出。 首先,...

    Velocity 模版

    Velocity 是一个开源的 Java 模板引擎,它允许开发者将业务逻辑与 HTML、XML 或其他格式的文档呈现分离开来,使得非程序员也能轻松地编辑网页布局。Velocity 被广泛应用于 Web 开发中,尤其是在 Apache Struts 和 ...

    利用velocity模版引擎,自动生产MVC各层代码及各类之间的依赖。

    总的来说,Velocity模版引擎为开发者提供了强大的代码生成能力,特别是在MVC架构下,可以有效地提高开发效率,降低出错概率,使开发者能够更加专注于业务逻辑的实现,而不是繁琐的代码编写工作。通过掌握Velocity的...

    velocity freemarke 模版 静态化 实现

    - **Velocity** 是Apache软件基金会的一个开源项目,它提供了简单易用的API,用于生成HTML、XML等格式的文本。Velocity模板语言(VTL)使得开发者能够专注于内容,而无需关心页面布局。 - **FreeMarker** 同样是...

    SpringBoot Velocity 代码生成模板

    同时,还需要在代码中创建Velocity的上下文对象,并注入需要的数据,然后使用Velocity引擎渲染模板并生成代码。 7. **最佳实践**: 在实际应用中,可以结合Maven或Gradle的插件来实现代码生成任务,如MyBatis的...

    velocity 引擎 资源包

    **Velocity 引擎资源包详解** ...总的来说,Velocity 是一种强大的模板引擎,适合用于生成各种动态内容,如电子邮件、报告或 Web 页面。通过熟练掌握 Velocity,开发者可以提升 Web 应用的开发效率和质量。

    JAVA velocity模板引擎使用实例

    Java Velocity模板引擎是一个强大的、轻量级的模板语言,它允许开发者将显示逻辑与业务逻辑分离,使得网页设计和后端代码更加独立。Velocity由Apache软件基金会开发,并广泛应用于Java Web应用中,提供动态内容生成...

    spring velocity 发邮件(单发,群发,图片,附件)

    标题 "spring velocity 发邮件(单发,群发,图片,附件)" 涉及到的是在Java开发中使用Spring框架集成Velocity模板引擎来发送电子邮件的功能。这个话题涵盖了多个知识点,包括Spring的邮件服务、Velocity模板引擎的应用...

    三大框架整合 前端视图使用velocity渲染,数据访问层使用hibernate+mysql,

    ** Velocity** 是一个开源的Java模板引擎,它的主要任务是将静态模板与动态数据相结合,生成最终的HTML或其他格式的输出。Velocity通过提供简洁的语法,使开发者能够专注于内容和结构,而不用关心页面的呈现细节。它...

    velocity模板引擎

    ### Velocity 模板引擎知识点详解 #### 一、Velocity简介及基本概念 Velocity与Freemarker、JSTL并称为Java Web开发中的三大标签技术。Velocity是一种基于Java的模板引擎,它允许Web开发者通过简单的模板语法来生成...

    Velocity模板邮件发送例子(Spring框架)(可通用,支持多扩展)

    在IT行业中, Velocity是一款...通过以上方法,我们可以构建一个高效、可扩展的邮件发送系统,利用Velocity模板引擎的强大功能,使邮件内容更加个性化和多样化。在实际开发中,可以根据项目需求进行适当的调整和优化。

    Velocity模板应用案例

    Velocity是Apache软件基金会的一个开源项目,它是一个基于Java的模板引擎,用于生成动态内容。Velocity通过将逻辑与呈现分离,使得开发者可以专注于业务逻辑,而设计师可以自由地设计页面布局,提高了开发效率和代码...

Global site tag (gtag.js) - Google Analytics