`

grails整合freemarker插件的中文乱码解决及FreeMarker配置

阅读更多
如果你用的是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位加一个逗号),以及日期格式。

分享到:
评论
2 楼 bluedest 2012-05-15  
tomorrow009 写道
其实是可以加载 外部配置文件的,参见这位老兄的文http://huncent.iteye.com/blog/421976

他的方法也是要改插件源码的,好像没什么特别好的不侵入的办法。
1 楼 tomorrow009 2011-07-19  
其实是可以加载 外部配置文件的,参见这位老兄的文http://huncent.iteye.com/blog/421976

相关推荐

    grails使用freemarker.rar

    总结来说,这个压缩包内容可能包括如何在Grails项目中配置和使用FreeMarker,以及如何处理领域类之间的关系映射,特别是“one2many”关系。通过学习这些知识,开发者可以更有效地构建Grails应用,并利用FreeMarker...

    eclipse开发grails插件

    3. **配置Grails环境**:安装插件后,需要在Eclipse中配置Grails的路径,这样Eclipse才能找到Grails命令行工具。这通常在"Eclipse Preferences" -&gt; "Grails"中设置。 4. **创建Grails项目**:现在,你可以通过...

    Grails安装SVN客户端插件指导手册

    为了在Grails环境中方便地使用SVN,我们需要安装一个支持SVN的客户端插件,这就是Subclipse。本指南将详细介绍如何在Grails环境中安装Subclipse插件。 首先,启动你的Eclipse集成开发环境(IDE),这是Grails通常...

    Groovy和Grails配置方法

    ### Groovy和Grails配置方法 #### 一、Groovy与Grails简介 Groovy是一种强大的面向对象编程语言,它运行在Java平台上,并且能够直接与Java代码进行交互。Groovy支持函数式编程特性,拥有丰富的语法糖以及简洁的...

    grails 中文文档+grails-fckeditor-0.9.5.zip插件

    二、Grails中文文档的价值 1. 学习入口:对于中文开发者来说,中文文档降低了学习Grails的门槛,帮助理解和掌握Grails的基本概念、框架结构、开发工具以及最佳实践。 2. 快速上手:文档通常包含安装指南、教程、...

    grails-shiro-ui:Grails Shiro UI 插件

    Grails Shiro UI 插件是为基于Groovy的Grails框架开发的一款强大而易用的安全管理插件,它集成了Apache Shiro安全框架,为开发者提供了一整套用户认证和授权的解决方案。Apache Shiro是一款轻量级、全面的Java安全...

    grails 配置mongodb数据库

    总结,配置Grails使用MongoDB数据库主要涉及以下几个步骤:安装MongoDB,添加MongoDB插件依赖,配置数据库连接,创建数据模型,实现业务服务,以及创建控制器处理请求。通过这样的配置和实现,我们就能在Grails中...

    grails项目配置

    **Grails项目配置详解** Grails是一个基于Java平台的开源Web应用框架,它采用Groovy语言,提供了MVC(Model-View-Controller)架构模式,简化了开发过程。本项目是一个关于Grails的演示示例,特别关注了数据模型的...

    eclipse插件grails(groovy)

    下面我们将详细介绍如何配置Eclipse插件Grails以及Groovy的相关知识点。 首先,安装Groovy和Grails插件是至关重要的。你可以通过Eclipse的内置Marketplace来查找并安装Groovy和Grails Development Tools (GDT)。...

    Grails入门精通及中文API

    7. 阅读Grails中文API文档,解决实际开发中的问题。 在学习过程中,还可以参考在线教程、视频课程和社区论坛,如Stack Overflow和Grails官方社区,以便获取更多实践经验和帮助。 总之,Grails作为Java平台上的快速...

    grails-acegi-0.5.zip

    总结,Grails Acegi 0.5插件是Grails框架下的一种重要安全解决方案,它引入了Spring Security的经典功能,为Grails开发者提供了强大的身份验证和授权手段。虽然随着时间的推移,新的安全框架和插件不断涌现,但了解...

    grails中文入门简介

    文档涵盖了从安装、配置、Web开发、服务层、测试、国际化、安全到插件使用等多个方面的详细介绍,是Grails新手学习的宝贵资料。通过这份文档,开发者可以系统地学习Grails框架,并在实际开发中快速应用所学知识。

    eclipse下的开发Grails项目的环境配置与项目部署

    处理完这些基础配置后,我们需要解决Grails的资源管理问题。在`grails-app/conf/spring`目录下的`resources.groovy`文件,应该添加包声明(`package spring`),然后将其剪切到`grails-app/conf`目录下,以确保...

    grails中文参考手册

    总之,《Grails中文参考手册》覆盖了从安装、创建应用到部署和配置的全过程,对于希望掌握Grails框架的开发者来说,是一份不可或缺的学习资源。通过深入学习和实践,你将能够充分利用Grails的强大功能,快速构建出高...

    Grails1.1中文文档

    1. **环境配置**:首先,开发者需要了解如何安装和配置Grails环境,包括Groovy SDK、Grails SDK以及相关的IDE支持,如IntelliJ IDEA或Eclipse的Grails插件。 2. **命令行工具**:Grails提供了强大的命令行工具,...

    Grails中文参考手册

    "Grails 中文参考手册" 是一套详细的 Grails 学习资料,涵盖了框架的所有核心组件、最佳实践和使用方法,帮助开发者快速掌握 Grails 开发技能。 总之,Grails 是一个强大而灵活的 Web 开发框架,结合 Groovy 的优点...

    grails-4.0.4.zip

    5. **插件系统**:Grails的插件系统是其灵活性的一大体现,允许开发者复用和扩展功能。例如,有用于安全性的spring-security-core插件,用于邮件发送的mail插件,以及用于RESTful API的rest-api-doc插件等。这些插件...

    Grails Grails Grails

    1. **自动化配置和约定优于配置**:Grails 提供了许多默认配置,例如数据库连接、URL映射等,开发者只需按照约定编写代码即可,减少了配置工作。 2. **GORM(Grails Object Relational Mapping)**: GORM 是Grails...

Global site tag (gtag.js) - Google Analytics