freemarker
(1)解决输出中文乱码问题:
freemarker乱码的原因:
- 没有使用正确的编码格式读取模版文件,表现为模版中的中文为乱码
解决方法:在classpath上放置一个文件freemarker.properties,在里面写上模版文件的编码方式,比如
default_encoding=UTF-8
locale=zh_CN注意:eclipse中除了xml文件、java文件外,默认的文件格式iso8859-1
- 数据插入模版时,没有使用正确的编码,表现出模版中的新插入数据为乱码
解决方法:在result的配置中,指定charset,s2的FreemarkerResult.java会将charset传递freemarker
<action name="ListPersons" class="ListPersons">
<result type="freemarker">
<param name="location">/pages/Person/view.ftl</param>
<param name="contentType"> text/html;charset=UTF-8
</param>
</result>
</action>
(2)提高freemarker的性能
在freemarker.properties中设置:
template_update_delay=60000
避免每次请求都重新载入模版,即充分利用cached的模版
(3)尽量使用freemarker本身的提供的tag,使用S2 tags 的标签会在性能上有所损失
:
freemarker乱码的原因:
- 没有使用正确的编码格式读取模版文件,表现为模版中的中文为乱码
解决方法:在classpath上放置一个文件freemarker.properties,在里面写上模版文件的编码方式,比如
default_encoding=UTF-8
locale=zh_CN注意:eclipse中除了xml文件、java文件外,默认的文件格式iso8859-1
- 数据插入模版时,没有使用正确的编码,表现出模版中的新插入数据为乱码
解决方法:在result的配置中,指定charset,s2的FreemarkerResult.java会将charset传递freemarker
<action name="ListPersons" class="ListPersons">
<result type="freemarker">
<param name="location">/pages/Person/view.ftl</param>
<param name="contentType"> text/html;charset=UTF-8
</param>
</result>
</action>
(2)提高freemarker的性能
在freemarker.properties中设置:
template_update_delay=60000
避免每次请求都重新载入模版,即充分利用cached的模版
(3)尽量使用freemarker本身的提供的tag,使用S2 tags 的标签会在性能上有所损失
本文介绍了Freemarker模板引擎的常见问题及解决方案,包括如何解决中文乱码问题,通过设置正确的编码格式来确保模板文件及数据插入时的字符正确显示;同时提供了提升Freemarker性能的方法,例如调整模板更新延迟时间和推荐使用Freemarker内置标签。
3727

被折叠的 条评论
为什么被折叠?



