Struts 2支持在JSP页面中临时加载资源文件,也支持通过全局属性来加载资源文件。通过全局属性加载资源文件更简单,本应用使用全局属性加载Struts 2国际化资源文件。
加载资源文件可以通过struts.properties文件来定义
#该属性指定Struts 2应用所需要的国际化资源文件,如果有多份国际化资源文件,则多个资源文件的文件名以英文逗号(,)隔开。
struts.custom.i18n.resources=globalmessages
新建
globalmessages.properties,在里面添加两条
labels.button.login=ログイン
labels.button.ok=確定
登陆页面后发现乱码
在web.xml中加入
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
调整后,页面显示正常
当前台JSP页面和JAVA代码中使用了不同的字符集进行编码的时候出现乱码,
过滤器就像上面那样被配置到web.xml了,当请求被提交之后,过滤器会判断request.getCharacterEncoding()是否为null,如果是null那么就会进行request.setCharacterEncoding("UTF-8")的操作,如果不是null那么过滤器什么也不会做。
参见http://jeiofw.blog.51cto.com/3319919/963179