如果你用的是utf-8编码,在grails中使用freemarker出现乱码,可以用以下方法解决。
打开C:\Documents and Settings\Administrator\.grails\1.1.1\projects\monitor\plugins\freemarker-0.1.1\FreemarkerGrailsPlugin.groovy文件(我的项目是monitor),把doWithSpring 方法改成以下
def doWithSpring = {
boolean developmentMode = !application.warDeployed
freemarkerConfig(org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer) {
defaultEncoding="utf-8"
if(developmentMode) {
templateLoaderPath="file:${BuildSettingsHolder.settings.baseDir.absolutePath}/grails-app/views"
} else {
templateLoaderPath="/WEB-INF/grails-app/views"
}
}
freemarkerViewResolver(org.springframework.grails.freemarker.GrailsFreeMarkerViewResolver) {
prefix = ''
suffix = '.ftl'
order = 10
contentType="text/html; charset=utf-8"
}
}
这样即可解决freemarker乱码问题。已经改过的freemarker插件在附件中。
当然,你需要在eclipse中把freemarker文件的编码设为utf-8,同时在页面头中加上<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
其次,在Freemarker中有一些其他重要的配置,比如使用webwork时,可以用一个名为freemarker.properties的文件进行以下设定:
#locale=utf-8
template_update_delay=5
datetime_format=yyyy-MM-dd HH:mm:ss
date_format=yyyy-MM-dd
time_format=HH:mm:ss
number_format=0.######;
boolean_format=true,false
auto_import="/WEB-INF/ftl_lib/ponyjava.com/index.ftl" as p, "/WEB-INF/ftl_lib/jeecms/index.ftl" as cms
whitespace_stripping=true
#default_encoding=UTF-8
tag_syntax=auto_detect
url_escaping_charset=UTF-8
#struts.freemarker.templatesCache=true
#template_update_delay=60000
那么在Grails中要进行以上设定,应该怎么做呢?
首先freemarker.properties配置文件是不能用了,因为它是webwork才会加载的文件。我们可以通过设置FreemarkerGrailsPlugin.groovy文件来达到配置freemarker的效果。比如:
def doWithSpring = {
boolean developmentMode = !application.warDeployed
freemarkerConfig(org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer) {
[color=red]freemarkerSettings=["number_format":"#","date_format":"yyyy-MM-dd" ][/color] defaultEncoding="utf-8"
if(developmentMode) {
templateLoaderPath="file:${BuildSettingsHolder.settings.baseDir.absolutePath}/grails-app/views"
} else {
templateLoaderPath="/WEB-INF/grails-app/views"
}
}
freemarkerViewResolver(org.springframework.grails.freemarker.GrailsFreeMarkerViewResolver) {
prefix = ''
suffix = '.ftl'
order = 10
contentType="text/html; charset=utf-8"
}
}
上述红字设置了数字格式永远不加","号(freemarker默认大数字每3位加一个逗号),以及日期格式。
分享到:
相关推荐
freemarker是一个比较好用的java模板引擎,grails也对它有很好的支持,该资源大有用处。
详细讲解grails开发环境配置。 详细讲解grails连接mysql数据库,crud开发
eclipse插件、用来开发grails(路漫漫其修远兮、吾将上下而求索)
Groovy和Grails配置方法 教你从0入手,一步一步深入安装和测试,包含环境和语言的下载地址
在help菜单选择Install New Software…
grails 配置mongodb数据库,并实现了用户登录的系统,只要将grails的环境配置好,安装上mongodb,再建立一个数据库ggtest,然后运行即可自动生成相应的集合数据。
Grails Shiro UI 插件 请参阅。
Grails3配置logback日志.pdf
grails演示项目,配置了一对多,多对对模型配置,配置了Mysql,Sqlserver数据库
grails 中文文档+grails-fckeditor-0.9.5.zip插件
eclipse插件grails(groovy)配置方法
Grails是个一栈式开发框架,它尝试通过核心技术和插件技术来解决许多Web开发难题。Grails包含了如下内容: 由 Hibernate 构成的易于使用的 Object Relational Mapping (ORM)层 称为 Groovy Server Pages (GSP) 的...
grials Install if you want to Install grails tools ,you can look at it .i would it can help you
添加了对可选乐观锁定的支持 - 基于 MyBatis Optimist 插件( ),同时避免 Java 注释(约定优于配置) 添加了对自定义 Enum 持久性的支持(基于 enum 属性值 - 让 DBA 满意) 文档: ://fzilic.github....
Grails Pjax插件Pjax在Grails中。 Pjax类似于(turbolinks)[ ,在'A'标签,按钮和表单上工作。 参见_pjaxHeader grails templtate文件中的演示代码。 ## Pjax是什么? Pjax是一个jQuery插件,它使用ajax和pushState...
Grails Grails Grails Grails Grails
Grails 中文 参考手册
Grails入门到精通,Java平台快速web开发之选。
elasticsearch-grails-plugin, 恢复的ElasticSearch grails插件 Elasticsearch插件插件这个项目是一个基于Elasticsearch的插件,这个项目是基于的人完成的伟大工作的。你为什么想要为原来的Elasticsearch插件提供...
Grails1.1最新 中文 文档 当今的Java Web开发技术显得过于复杂,相对于它本身的需要来说。现在主流的Java Web框架也是异常复杂,而且没有很好的遵循 Don't Repeat Yourself (DRY) 法则。 因此我们要以一种新的思维...