`

Freemarker的国际化及使用JSTL

阅读更多

这几天一直在研究怎么实现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常用标签总结,JSTL标签是开发中经常使用的技术,常用标签总结,希望对小伙伴们有帮助!

    freemarker总结

    其它的运行符可以作用于数字和日期,但不能作用于字符串,大部分的时候,使用gt等字母运算符代替&gt;会有更好的效果,因为 FreeMarker会把&gt;解释成FTL标签的结束字符,当然,也可以使用括号来避免这种情况,如:(x&gt;y)&gt; ...

    spring mvc 3.2 + mybatis3.2 + freeMarker

    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 后台

    Java博客系统Zblog2.zip

    静态化 FreeMarker 视图模板 Jsp/Jstl/JspTaglib 其它 Jsoup(xss过滤)、fastjson、IKAnalyzer 前端 jQuery js框架 Bootstrap 后台界面 UEditor/EpicEditor 编辑器 WebUploader 文件上传 ...

    spring+struts+hibernate+dwr+jstl做的实例

    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自定义标签

    jsp,jstl,freemarker

    struts必须包

    这里面有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

    hibernate+spring+struts2

    (3)Struts 应用国际化,Struts 标签库与Tiles框架, JSTL标签库,Spring IOC; (4)采用优化性能技术,采用oscache缓存,freemarker静态页面生成; (5)功能比较多但操作简单的后台管理;(后台管理附图片)

    java-web-tags.zip_4 3 2 1_JAVA 语法 大全_JSTL_jsp 表单_web-tags

    3、jstl 各类型标签;4、spring 标签;5、jsf标签;6、jsp标签、语法;7、freemarker语法;8、velocity语法;9、ajax常用函数;10、常用js表单检测函数;11、常用js函数;12、多功能jsp编辑器(eclipse插件);

    Thymeleaf中文参考手册_3.0.5版

    Thymeleaf 是一个跟 Velocity、FreeMarker 类似的... Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。 这是3.0.5版中文参考手册,很好用。

    SSH相关整合的总要资料

    它提供了对ORM工具(Hibernate,JDO,TopLink,apacheOJB,iBatis,JPA)、视图(JSP,JSTL,Title,Velocity,FreeMarker,XSLT,PDF/Excel文档视图、JasperReports报表视图)、Web框架(JSF、Struts、Tapestry、WebWork)其他技术...

    thymeleaf_3.0.5_中文参考手册

    简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 ... Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。

    thymeleaf_中文参考手册

    简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 ...3.Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。

    ssh整合项目

    Struts 应用国际化,Struts 标签库与Tiles框架, JSTL标签库,Spring IOC; 采用优化性能技术,采用oscache缓存,freemarker静态页面生成; 功能比较多但操作简单的后台管理;(后台管理附图片); 安装方法: 1:mysql中...

    JavaEE求职简历-姓名-JAVA开发工程师.docx

    1.熟悉Java编程基础,具有良好的代码编写规范,熟悉常用的设计模式,熟悉Java开发常用的API;...8.了解或使用过的企业级开发常用中间件与第三方库:Nginx、ActiveMQ、ThymeLeaf、Freemarker、Shiro、kafka、Fas

    Struts2 in action中文版

    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 为...

    java web标签大全

    文件内不仅内含jsp、jstl、struts1、struts2、jsf、freemarker、spring、velocity等常用标签,而且更含有JavaScript和Ajax常用函数的说明和实例。

    国产java类cms v3.0.161109.zip

    前台模板采用官方的JSTL,不需要额外学习其他模板如FreeMarker、Smarty或其他cms自行开发的小众模板,用JSTL即可实现整站及局部静态化,显著降低了学习成本。 3、极简设计。提倡减法,设计思路类似RISC,只保留构成...

Global site tag (gtag.js) - Google Analytics