Struts下使用资源文件(xxx.properties)

  使用Struts开发,可以使用xxx.properties文件来保存一些重用的字符串资源。该文件以Key = Value 的方式来保存字符串资源,有助于项目的维护、国际化等。也可以通过Jsp传参数,使用{0} ~ {4} 分别代表5个从Jsp传进来的参数。示例如下:

# 工程的资源文件
# 以Key = Value 的方式来保存字符串资源,有助于维护、国际化
info.input.account = please input account
info.input.password = please input password

# 可以从jsp传参数。在Value里用{0,1,2,3,5}依次代表传过来的参数
info.input =please input {0}

  使用资源文件前,必须在struts-config.xml中进行注册。在根标签<struts-config>下使用<message-resources>标签进行注册。其中parameter属性的值代表资源文件的路径(必须)。key属性的值代表该资源的唯一标识符,可选属性,如果该属性为空,表明该资源文件是该项目的默认资源文件。示例如下:

  

  <!-- 注册资源文件,如果该资源文件是默认的资源文件,就不要填写key属性.-->
  <!-- 如果该资源文件是不是默认的资源文件,必须填写key属性 -->
  <!-- 在Jsp通过bean:message调用时 ,如果调用默认资源文件,就不要填写bundle属性-->
  <!-- 调用非默认资源文件时,填写bundle属性,值对应资源文件key属性的值 -->
  <message-resources parameter="com.zet.struts.ApplicationResources" />
  <message-resources parameter="com.zet.struts.ApplicationCHResources" key="CH"></message-resources>

  

   在Jsp中可以通过Struts自带的<bean:message>标签来使用资源文件。其中key属性为必须,它的值代表资源文件中的key;arg0 - arg4 为可选属性,代表传入的参数;bundle属性,可选,如果为空,代表默认资源文件,否则该值代表资源文件的唯一标识符(与struts-config.xml中的资源文件注册标签key值对应)。示例:

  

<html:form action="/login">
        <bean:message key="info.input.account"/><html:text property="account"/><br/>
        <bean:message key="info.input.password"/><html:password property="password"/><br/>
        <html:submit/><html:cancel/>
</html:form><hr/>

传参数:

<html:form action="/login">
	<bean:message key="info.input" arg0="account"/><html:text property="account"/><br/>
	<bean:message key="info.input" arg0="password"/><html:password property="password"/><br/>
	<html:submit/><html:cancel/>
</html:form><hr/>

使用非默认的资源文件,用bundle属性来注明资源的唯一标识符:

<html:form action="/login">
	<bean:message key="info.input.account" arg0="账号" bundle="CH"/><html:text property="account"/><br/>
	<bean:message key="info.input.account" arg0="密码" bundle="CH"/><html:password property="password"/><br/>
	<html:submit/><html:cancel/>
</html:form><hr/>

  注:参数可以传英文也可以中文,都不会出现乱码。但是资源文件中的value不能为中文,否则出现乱码。解决方案:将带有中文的资源文件,通过使用JDK自带的native2ascii 来实现编码转换。

  用法 native2ascii -encoding gb2312 [源文件名] [目标文件名]



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值