这几天一直在研究怎么实现Freemarker的国际化问题,在网上找了很多的实现,有在生成模板时通过Java代码来加载资源文件的、有使用Spring标签的,但是这些用起来,都感觉不顺手,毕竟在使用Freemarker之前,一直使用的是JSP,而在JSP中使用的最多的标签,还是JSTL,所以又查了一些资料,将JSTL集成进了Freemarker当中。
下面对这三种方式,分别介绍:
1、使用Java代码加载资源文件:
ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle("ApplicationResources"); ResourceBundleModel rsbm = new ResourceBundleModel(RESOURCE_BUNDLE, new BeansWrapper()); fmModel.put("bundle", rsbm);
通过上面的代码,将资源文件直接SET到传入模板的Map中,在模板中,通过下面的方式进行资源文件的国际化的调用:
${ bundle("webapp.name") }
2、通过使用Spring标签:
<#import "./commons/spring.ftl" as spring />
上面的代码,在模板代码中,引用入了Spring标签文件,这样就可以在模板文件中使用Spring的标签来进行国际化的操作了。在模板文件中使用下面的代码来进行国际化:
<@spring.message "webapp.name" />
而Spring标签的定义文件,在org.springframework.web.servlet包下的org\springframework\web\servlet\view\freemarker目录中,将其复制到你的工作目录,便可使用。
3、使用JSTL标签:
<#assign fmt=JspTaglibs["http://java.sun.com/jsp/jstl/fmt"] />
通过上面的代码,将JSTL标签引入到模板中,之后便可像在JSP中一样,来使用JSTL标签了。当然,写法要按照Freemarker的写法。如下:
<@fmt.message key="webapp.name" />
同样,要使用其他的JSTL标签,也使用同样的方式进行引用便可,下面是Core和FMT的引入例子:
<#assign c=JspTaglibs["http://java.sun.com/jsp/jstl/core"] /> <#assign fmt=JspTaglibs["http://java.sun.com/jsp/jstl/fmt"] />
相关推荐
JSTL常用标签总结,JSTL标签是开发中经常使用的技术,常用标签总结,希望对小伙伴们有帮助!
其它的运行符可以作用于数字和日期,但不能作用于字符串,大部分的时候,使用gt等字母运算符代替>会有更好的效果,因为 FreeMarker会把>解释成FTL标签的结束字符,当然,也可以使用括号来避免这种情况,如:(x>y)> ...
spring mvc 3.2 + mybatis3.2 + jsp + jstl + jquery + OSCache + freeMarker + mysql 用户登陆用统一的认证登陆接口:shiro; 前台用freeMarker 模板,还有 jsp!
Zblog a java blog 核心功能 文章/页面发布、分类、统计阅读次数。...静态化 FreeMarker 视图模板 Jsp/Jstl/JspTaglib 其它 Jsoup(xss过滤)、fastjson、IKAnalyzer 前端 jQuery js框架 Bootstrap 后台
静态化 FreeMarker 视图模板 Jsp/Jstl/JspTaglib 其它 Jsoup(xss过滤)、fastjson、IKAnalyzer 前端 jQuery js框架 Bootstrap 后台界面 UEditor/EpicEditor 编辑器 WebUploader 文件上传 ...
struts.jar spring-web.jar spring-webmvc.jar spring-portlet.jar struts.jar commons-fileupload.jar commons-httpclient.jar freemarker.jar jasperreports-1.3.3.jar commons-io.jar...
jsp,jstl,freemarker
这里面有Struts需要的基本架包,commons-beanutils.jar commons-fileupload-1.3.1.jar ... freemarker-2.3.15.jar jstl-1.2.jar log4j-1.2.17.jar ognl-2.7.3.jar struts2-core-2.1.8.1.jar xwork-core-2.1.6.jar
(3)Struts 应用国际化,Struts 标签库与Tiles框架, JSTL标签库,Spring IOC; (4)采用优化性能技术,采用oscache缓存,freemarker静态页面生成; (5)功能比较多但操作简单的后台管理;(后台管理附图片)
3、jstl 各类型标签;4、spring 标签;5、jsf标签;6、jsp标签、语法;7、freemarker语法;8、velocity语法;9、ajax常用函数;10、常用js表单检测函数;11、常用js函数;12、多功能jsp编辑器(eclipse插件);
Thymeleaf 是一个跟 Velocity、FreeMarker 类似的... Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。 这是3.0.5版中文参考手册,很好用。
它提供了对ORM工具(Hibernate,JDO,TopLink,apacheOJB,iBatis,JPA)、视图(JSP,JSTL,Title,Velocity,FreeMarker,XSLT,PDF/Excel文档视图、JasperReports报表视图)、Web框架(JSF、Struts、Tapestry、WebWork)其他技术...
简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 ... Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。
简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 ...3.Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。
Struts 应用国际化,Struts 标签库与Tiles框架, JSTL标签库,Spring IOC; 采用优化性能技术,采用oscache缓存,freemarker静态页面生成; 功能比较多但操作简单的后台管理;(后台管理附图片); 安装方法: 1:mysql中...
1.熟悉Java编程基础,具有良好的代码编写规范,熟悉常用的设计模式,熟悉Java开发常用的API;...8.了解或使用过的企业级开发常用中间件与第三方库:Nginx、ActiveMQ、ThymeLeaf、Freemarker、Shiro、kafka、Fas
6.6 使用JSTL和其他本地标签 130 6.7 OGNL表达式语言的基础知识 130 6.7.1 什么是OGNL 130 6.7.2 Struts 2中常用的表达式语言特性 131 6.7.3 表达式语言的高级特性 135 6.8 小结 137 第7章 UI组件标签 139 7.1 为...
文件内不仅内含jsp、jstl、struts1、struts2、jsf、freemarker、spring、velocity等常用标签,而且更含有JavaScript和Ajax常用函数的说明和实例。
前台模板采用官方的JSTL,不需要额外学习其他模板如FreeMarker、Smarty或其他cms自行开发的小众模板,用JSTL即可实现整站及局部静态化,显著降低了学习成本。 3、极简设计。提倡减法,设计思路类似RISC,只保留构成...