本文主要是介绍struts与jstl对国际化的支持(转贴),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
struts与jstl对国际化的支持(转贴)
struts本身使用了java的resource bundle,支持消息的国际化,在struts-config.xml或module相关的config文件中添加
如下部分:
<message-resources parameter="properties.localization.GalaxyLocalization"/> |
其中parameter的值即为资源文件的位置,如上,表示资源文件为classpath中的:
properties.localization.
GalaxyLocalization ?.properties
另外,可以为message-resources加上key值,这样就可以加入多个资源文件,每个key对应着一个资源文件,例如:
<message-resources key="usermanager" parameter="properties.localization.GalaxyLocalization"/> |
另外,针对不同的locale,我们可以创建相应的资源文件,例如对于中国的locale,对应的资源文件映射为:
GalaxyLocalization_zh_CN.properties |
在获取属性值时,总会先去和本地locale最合适的资源文件中去读取值,如果没有locale的资源文件,那么将去默认的
GalaxyLocalization.properties中去找。
JSTL中也有对国际化的解决策略,我们可以通过下面的方式定义jstl的资源件,在web.xml中加入:
<context-param> <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> <param-value>properties.localization.GalaxyLocalization</param-value> </context-param> |
上面定义中的值和struts中资源文件的值相同,即struts和jstl可以使用同一个(或说同一套)资源文件。
例如在资源文件中定义了如下值:
... button.submit=submit errors.required={0} is required! ... |
在struts中使用<bean>标签可以获取资源文件的值,例如:
<bean:message key="errors.required" arg0="user name"/> |
这篇关于struts与jstl对国际化的支持(转贴)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!