国际化主要是指语言的国际化,主要是运用国际的大型网站,其他方面用处不大。下面我来讲其中一种Struts2的国际化。加载Action范围资源文件。先要添加语言的资源文件(中文、英文等),资源文件的命名规范是:ActionName_language_country.properties。例如,资源文件是中文的,ActionName为 LoginAction,那命名就是LoginAction_zh_CN.properties。然后再把这个资源文件放在LoginAction的目录下。顺便提一下资源文件都是以键值对的形式存在的。然后就是页面中的配置,代码如下:
<s:form action="admin/Login-login" method="post">
<s:property value="getText('username')"/>:<input type="text" name="username"/><br/><br/>
<s:property value="getText('password')"/>:<input type="password" name="password"/><br/><br/>
<input type="submit" value="<s:property value="getText('submit')"/>"/>
</s:form>
然后,就可以通过获取语言环境。显示相应的语言,其中getText是调用Action中的方法。
还有一种加载包范围的资源文件,资源文件的命名规范为packageName_language_country.properties。将资源文件放在该包下,然后改包下的所有Action都可以访问,其他包下的Action不可以访问。