`
ariyue
  • 浏览: 337099 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Spring+Freemarker(国际化)

阅读更多


在config.xml中增加
    <bean id="messageSource"
        class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basenames">
            <list>
                <value>messages</value>
            </list>
        </property>
    </bean>



其中粗体部分是Spring的标准, 不可更改的

然后在src目录下创建messages.properties, messages_zh_CN.properties, 它们会在编译的时候被copy到WEB-INF/classes去的, messages_zh_CN.properties的内容是要经过native2ascii的编码转换才行的.
title=SpringTest
heading=Spring :: Test
greeting=Hello, It is now



把spring包里面的spring.ftl复制到ftl文件目录的includes里面, 这样就能在ftl文件中使用宏来获得需要的message了:
<#import "/includes/spring.ftl" as spring/>
<html>
<head><title><@spring.message "title"/></title></head>
<body>
<h1><@spring.message "heading"/></h1>
<p><@spring.message "greeting"/>${now?if_exists}</p>
</body>
</html>
分享到:
评论
3 楼 弦月001 2014-01-02  
我目前也是碰到这样的情况,在jsp里面没有问题,但在freemarker中碰到和你一样的错。目前也在找解决方法。
2 楼 laj12347 2013-12-25  
zhangsw_00 写道
我参照你的方法,配置环境,在jsp文件里用<spring:message key="project.name"/>没有问题,但在模版文件里用<@spring.message "project.name"/>或者<spring:message key="project.name"/>都要报以下错误,是不是还需要配置别的项目?

freemarker.core.InvalidReferenceException: Expression springMacroRequestContext is undefined on line 28, column 24 in document/includes/spring.ftl.
at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Dot._getAsTemplateModel(Dot.java:78) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:86) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Expression.getStringValue(Expression.java:93) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.DollarVariable.accept(DollarVariable.java:76) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Environment.visit(Environment.java:208) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Macro$Context.runMacro(Macro.java:163) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Environment.visit(Environment.java:601) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Environment.visit(Environment.java:208) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.MixedContent.accept(MixedContent.java:92) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Environment.visit(Environment.java:208) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Environment.process(Environment.java:188) [freemarker-2.3.14.jar:2.3.14]
at freemarker.template.Template.process(Template.java:237) [freemarker-2.3.14.jar:2.3.14]




你的这个错误你看看是不是你的配置文件的位置不对呀,
1 楼 zhangsw_00 2010-02-22  
我参照你的方法,配置环境,在jsp文件里用<spring:message key="project.name"/>没有问题,但在模版文件里用<@spring.message "project.name"/>或者<spring:message key="project.name"/>都要报以下错误,是不是还需要配置别的项目?

freemarker.core.InvalidReferenceException: Expression springMacroRequestContext is undefined on line 28, column 24 in document/includes/spring.ftl.
at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Dot._getAsTemplateModel(Dot.java:78) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:86) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Expression.getStringValue(Expression.java:93) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.DollarVariable.accept(DollarVariable.java:76) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Environment.visit(Environment.java:208) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Macro$Context.runMacro(Macro.java:163) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Environment.visit(Environment.java:601) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Environment.visit(Environment.java:208) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.MixedContent.accept(MixedContent.java:92) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Environment.visit(Environment.java:208) [freemarker-2.3.14.jar:2.3.14]
at freemarker.core.Environment.process(Environment.java:188) [freemarker-2.3.14.jar:2.3.14]
at freemarker.template.Template.process(Template.java:237) [freemarker-2.3.14.jar:2.3.14]

相关推荐

    Spring+freemarker+Hibernate搭建

    一个完整的Spring+Hibernate+FreeMarker环境的搭建过程。 包括了国际化配置、缓存配置、事物配置等功能

    springmvc 实现i18n国际化+freemarker小实例demo

    springmvc 实现i18n国际化+freemarker小实例demo 亲测有用

    基于SpringMVC3+Spring3+Hibernate3+Freemarker+HTML5的开源项目jeecms

    JEECMS内容管理系统是...├ 国际化(前后台可以设置成多语言,目前系统自带后台英文操作菜单) ├ 系统支持PC端、移动端访问 网站群 ├ 节点维护 ├ 节点独立管理 ├ 站点信息共享管理 ├ 站点信息推送 ├ 全站搜索

    hibernate+spring+struts2

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

    SpringMVC +Mybatis+Spring+oscache配置文件

    springmvc最全的配置文件资料,springMVC包含json、xml、文件下载、静态资源配置、日志拦截器、freeMarker、错误日志、国际化等各种配置

    spring.ftl

    该资源为spring 4.2 spring freemarker 国际化用的 引入 spring.ftl &lt;#import "../common/spring.ftl" as spring /&gt; 页面获取国际化 &lt;@spring.message "handle.reSubmit"/&gt;

    亿美内容管理系统 ExmayCMS v1.1.6 Beta

    ExmayCMS采用Struts2+Spring+Hibernate+Lucene3+EhCache+Freemarker+JQuery等主流技术架构,默认使用MySQL数据库,并支持Oracle、SqlServer、Sybase、DB2等主流数据库,全部源代码永久开放,无任何功能限制。...

    springMvc+Mybatis+spring3.0+oscache配置文件

    最全的配置文件资料,springMvc包含josn、xml、文件下载、静态资源配置、日志拦截器、freeMarker、错误日志、国际化等各种配置

    spring jar 包详解

    包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、 XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。 (13) spring-mock.jar 这个jar文件包含...

    spring-webmvc5.3.6 jar包.rar

    包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、XSLT相关类。  当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。(例如: org.springframework.web....

    spring4.1核心包

    包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。 19. spring-webmvc-portlet-4.1.1.RELEASE....

    spring4.3.9相关jar包

    包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、XSLT相关类。包括框架的Servlets,Web MVC框架,控制器和视图支持。当然,如果你的应用使用了独立的MVC 框架,则无需这个JAR 文件...

    最新最全的spring开发包

    包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、 XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。 (13) spring-mock.jar  这个jar文件...

    Spring 2.5 jar 所有开发包及完整文档及项目开发实例

    包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、 XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。 (13) spring-mock.jar  这个jar文件包含...

    Spring-Reference_zh_CN(Spring中文参考手册)

    3.8.1. 利用MessageSource实现国际化 3.8.2. 事件 3.8.3. 底层资源的访问 3.8.4. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.9.1. 使用Singleton-helper类 4. 资源 4.1. 简介 4.2. ...

    Spring 2.0 开发参考手册

    3.8.1. 利用MessageSource实现国际化 3.8.2. 事件 3.8.3. 底层资源的访问 3.8.4. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.9.1. 使用Singleton-helper类 4. 资源 4.1. 简介 ...

    运用struts1.2+hibernate+spring 框架完整购物商城项目(内含sql文件)

    一个J2EE购物网站的实现 运用struts1.2+hibernate+spring 框架,数据库连接池,...Struts 应用国际化,Struts 标签库与Tiles框架, JSTL标签库,Spring IOC。 采用优化性能技术,采用oscache缓存,freemarker静态页面生成

    Spring全家桶核心篇:SpringBoot快速入门 源码

    其对于Spring Boot的最常用的第一个小程序、JavaConfig和常见注解、启动改变、热部署、Springboot整合Thymeleaf/freemarker/JSP、异常处理、配置文件、日志、国际化等都使用案例进行了说明,并且在最后通过一个贯穿...

    Spring In Action(第二版)中文版_笔记

    上下文环境扩展了BeanFactory,添加了对I18N(国际化)、应用生命周期事件以及验证的支持。该模块提供了很多企业及服务,如电子邮件服务、JNDI访问、EJB集成、远程调用以及定时服务,并且支持与模板框架(如Velocity...

    Spring中文帮助文档

    3.8.2. 利用MessageSource实现国际化 3.8.3. 事件 3.8.4. 底层资源的访问 3.8.5. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.10. 以J2EE RAR文件的形式部署Spring ...

Global site tag (gtag.js) - Google Analytics