`

Struts2中加载资源文件的方式(转载)

阅读更多

下面小编要和大家分享的是Struts2中的加载资源文件的方式!对于一个大型的应用而言,可能资源文件非常庞大,因此有必要将它分成多个较小的文件Struts2可以指定包范围资源文件,类范围资源文件,以及临时指定资源文件。

 

1,包范围资源文件

Struts2指定包范围资源文件的方法是:在包的根目录下建立多个名为package_<language>_<country>.properties文件,这个文件的命名同普通资源文件的命名方式一样。建立了此文件之后,该包下的所有Action都可以访问资源文件。例:我们在lee这个包下建立多个资源文件,文件名分别为:package.propertiespackage_en_US.propertiespackage_zh_CN.properties;那么在此包中所有的Action都可以获取资源文件,获取的方式同普通的一样,如下:getText("succTip")。如果存在包资源文件,则包资源文件中的内容将优先于普通的资源文件。

 

2Action范围资源文件

Struts2还允许为Action单独指定一份国际化资源文件。它的方式为:在Action类文件所在的路径下建立多个文件名为<ActionName>_<language>_<country>.properties文件。例:在LoginAction的同目录下建立多个资源文件:LoginAction.propertiesLoginAction_en_US.propertiesLoginAction_zh_CN.properties;那么这个资源文件仅对此Action开放。获取资源文件中内容的方式不变。如果存在Action范围资源文件,则此文件中的内容将优先于所有的资源文件。

 

3,临时指定资源文件

Struts的页面有一个标签<s:i18n>,可以通过它来指定资源文件的位置。这个标签一般可做为其它标签的父标签,这样其它标签所读取的内容就是<s:i18n>标签所指定的资源文件中的内容。用法如下:

 

<%@ page language="java" contentType="text/html; charset=GBK"%>

<%@taglib prefix="s" uri="/struts-tags"%>

<html>

<head>

<title>

<s:i18n name="tmp">

<s:text name="loginPage"/>       //读取WEB\INF\classes\tmp.properties资源文件中的loginPage的内容

</s:i18n>

</title>

</head>

<body>

<s:i18n name="tmp">

<s:form action="Login">

<s:textfield name="username" key="user"/>

<s:textfield name="password" key="pass"/>

<s:submit key="login"/>

</s:form>

</s:i18n>

</body>

</html>

通常若查找不到所需要的资源文件中的内容,都是直接输出KEY的字符串值

出处:  程序员之家 http://www.sunxin.org/

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics