声明:转。1。使用全局的资源文件,这适用于遍布于整个应用程序的国际化字符串,它们在不同的包(package)中被引用,如一些比较共用的出错提示;
2。使用包范围内的资源文件。做法是在包的根目录下新建名的package.properties和package_xx_XX.properties文件。这就适用于在包中不同类访问的资源;
3。使用Action范围的资源文件。做法为Action的包下新建文件名(除文件扩展名外)与Action类名同样的资源文件。它只能在 该Action中访问。如此一来,我们就可以在不同的Action里使用相同的properties名表示不同的值。例如,在ActonOne中 title为“动作一”,而同样用title在ActionTwo表示“动作二”,节省一些命名工夫;
4。使用<s:i18n>标志访问特定路径的properties文件。 在使用这一方法时,请注意<s:i18n>标志的范围。在<s:i18n name="xxxxx">到</s:i18n>之间,所有的国际化字符串都会在名为xxxxx资源文件查找,如果找不 到,Struts 2.0就会输出默认值(国际化字符串的名字)。
2。使用包范围内的资源文件。做法是在包的根目录下新建名的package.properties和package_xx_XX.properties文件。这就适用于在包中不同类访问的资源;
3。使用Action范围的资源文件。做法为Action的包下新建文件名(除文件扩展名外)与Action类名同样的资源文件。它只能在 该Action中访问。如此一来,我们就可以在不同的Action里使用相同的properties名表示不同的值。例如,在ActonOne中 title为“动作一”,而同样用title在ActionTwo表示“动作二”,节省一些命名工夫;
4。使用<s:i18n>标志访问特定路径的properties文件。 在使用这一方法时,请注意<s:i18n>标志的范围。在<s:i18n name="xxxxx">到</s:i18n>之间,所有的国际化字符串都会在名为xxxxx资源文件查找,如果找不 到,Struts 2.0就会输出默认值(国际化字符串的名字)。
<constant name="struts.custom.i18n.resources" value="资源文件相对路径/文件名" />
简单的话,一般都放在class根目录下然后如2楼所说:
2。使用包范围内的资源文件。做法是在包的根目录下新建名的package.properties和package_xx_XX.properties文件。
这就适用于在包中不同类访问的资源;最后页面上用<s:text name="键名"/>调用
http://topic.csdn.net/u/20081107/11/71c78354-35fa-4be8-b9b4-d353a992b9bd.html
per.zdx.cfg.i18n包下面配置了msg1.properties、msg1.properties
然后在struts.xml中配置
<constant name="struts.custom.i18n.resources" value="per.zdx.cfg.i18n.msg1.properties,per.zdx.cfg.i18n.msg2.properties" />你也可以在struts.xml中配置<constant name="struts.action.extension" value="do,action,hmt" />
给分哦,哈哈
action级国际化资源配置文件:可以为某个action单独指定资源文件,方法如下:
在Action类所在的路径,放置ActionClassName_language_country.properties资源文件,ActionClassName为action类的简单名称。