在Struts2中使用FreeMarker作为表现层已经基本作为普遍配置了。但是熟悉JSP的开发者习惯了JSP标签的使用,而FreeMarker中确实宏的使用,二者虽然有些差别,但是使用上能够很快过渡。
国际化是Java EE项目中一个不可缺少的部分,当然不是每个项目所必需的,但关键时刻却是不能避免的。当然也有项目做两个路径来进行,把语言区分开来,这也是可以的,当然这需要大量的劳动力和时间,而Java EE的国际化配置却是省时省力的。资源文件的集中管理不仅安全性更高,而且也有高效,页面文件少的特性。
使用了FreeMarker以后当然不能像在JSP中使用JSTL那样直接,但是也不麻烦。经过以下步骤的配置即可使用。方法固定,实现了Write Once,Copy Anywhere!
1.配置Struts2,使其支持国际化。方法有两种,一种是直接在struts.xml中配置,还有一种是编写properties文件,如下:
struts.xml
<struts>
<constant name="struts.custom.i18n.resources" value="globalMessages"/>
……
</struts>
struts.properties
struts.custom.i18n.resources=globalMessages
这样就指定了国际化properties文件的前缀,中文的国际化文件就可以写成globalMessages_zh.properties而日语的国际化文件就是globalMessages_ja.properties.
2.编写国际化文件,国际化文件的编码方式是Unicode码,这个就不用过多解释了,就是说出了拉丁文的所有文字必须经过转码后才能使用,转码方式是利用jdk提供的native2ascii.exe这个工具完成的。我想这应该没有不会的吧。如果忘了就google一下吧。
3.在FreeMarker中配置struts的标签库,利用标签库来读取资源文件,这个也十分容易,如下写就行了:
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"]>
说明一点就是这样就需要把struts2的标签库tld文件单独抽取出来放置,在FreeMarker中写一个宏来标识即可。
4.在页面中使用标签来进行国际化。如下即可:
<@s.property value="%{getText('page.homepage.title')}"/>
其中page.homepage.title需要在资源文件中写好,这样FreeMarker就能直接读取到了。
测试时,调整浏览器的语言选项就能看到国际化的效果了。
希望对使用者有用,也欢迎交流看法。
分享到:
相关推荐
Freemarker是模板引擎,也可以说是一种...开发人员只要熟悉Struts2的标签即可进行开发Freemarker模板文件,如果您还不熟悉具体的Struts2及标签应用请参考其他文献资料,本文主要阐述Struts2与Freemarker的配置方法。。
这是一个struts2 freemarker 国际化的小例子
1.FreeMarker 2.3.16pdf手册 2.struts2+freemarker web项目例子,可以运行
Struts2集成FreeMarker和Velocity,写成了工具类,快速实现页面静态化,以后直接调用即可,无需修改任何源代码,改压缩文件包括 1、工具类; 2、源码(含jar包); 3、mysql数据库可执行文件; 4、struts2集成...
freemarker与struts2详细配置.
struts2+freemarker
FreeMarker与Struts2结合的部署
Struts2与FreeMarker模板
基于Struts2和freemarker整合的小程序,能够自动生成html页面,能够运行
在struts2中使用freemarker模版.doc
自己写的一个框架例子,公司也在用,框架是struts2+hibernate+freemarker
NULL 博文链接:https://sunny-java-163-com.iteye.com/blog/661281
Struts2 和freemarker实例 简单STRUTS2的使用,和freeMarker的使用
详尽的描述了项目开发过程中,项目配置文件和struts2配置文件中关于Freemarker的配置和解决!
NULL 博文链接:https://depravedangel.iteye.com/blog/443575
众所周知,struts2宣称freemarker模板中不再支持自定义标签,但如果工程UI仅用freemarker模板可以通过扩展struts标签简单实现,不是采用官方不推荐的配置JspSupportServlet实现的!内付详细说明及范例,此方法仅为团队...
Struts2整合FreeMarker实例框架初学例子. myeclipse 工程代码. 利用Struts2生成静态页面其实很灵活,很强大,尤其是利用Struts2对Freemarker较好的支持,充分利用Freemarker的模板功能来生成静态页面。 比较简单....
Struts2和FreeMarker结合,表现层使用FTL标签,并在FTL页面中使用Struts2标签,供入门的朋友用,属最最基础的东东. 方家批评!
struts2+spring2.5+hibernate3.2 + freemarker 全新功能实现的增删改查+freemarker 摸版 struts2 的方式自己去看简单。 spring2.5 是用注释来注入 hibernate3.2 是用ejb3注解映射关系 hibernate3 +个属性可以自动...
简单的新闻发布系统 用到了SSH2框架 页面是用freemarker生成的静态页面 用户名Admin 密码123456