Struts2应用中的国际化

来源:互联网 发布:java pdf ocr识别文字 编辑:程序博客网 时间:2024/04/27 18:03

 jsp文件的国际化:
 1. 在src目录下新建资源文件,如message.properties,message_zh_CN.properties,message_zh_CN.properties。
 2. 在struts.xml文件中加上<constant name="struts.custom.i18n.resources" value="message"></constant>,
    位置在<sturts>标签下.
 3. 在JSP文件中用<s:text name=""></s:text>标签,name属性的值是你在properties文件中定义的值.

 /**********************************注意**************************************/

 如果要使用可变参数,那么要在properties文件中加入 {0} {1} 这样的标识,如 username.invalid = username "{0}" invalid!
 那么如果在JSP页面里的username属性填的是xxx且不符合规定,那么就会显示如 username "xxx" invalid. 的出错信息。


 /************************************************************************/


action类的国际化:
 1. 如上1,2两步
 2. 在action中的 this.addFieldError("username"); 改成 this.addFieldError(this.getText("username.invalid"));
    其中username.invalid要在properties文件中定义好.
 
 /**********************************注意**************************************/

 如果要使用可变参数,将 this.addFieldError(this.getText("username.invalid")); 加上个List类型或者String[]类型的参数
 比如 this.addFieldError(this.getText("username.invalid", new String[]{username})); 其中new String[]{username}中的
 username为action的属性名称。
 
 /************************************************************************/

xml文件的国际化:
 1. 在xxxAction-validation.xml中,将<message>...</message>改为<message key="username.validat"></message>
    其中username.validat要在xxx_zh_CN.properties文件中定义.
 
包级别资源文件国际化:
 1. 在要国际化的包下面新建 package_zh_CN.properties和package_en_US.properties文件.
 2. 其余部分依照action类的国际化的处理.

类级别资源文件国际化:
 1. 在该类的同级目录下,新建xxxAction_zh_CN.properties和xxxAction_en_US.properties文件.
 2. 其余部分依照action类的国际化的处理.

form表单的国际化:
 1. 仿照jsp文件的国际化,建立资源文件。
 2. 将<s:form theme="simple">里的theme="simple"去掉。将<s:textfield name="username" label="username">改为
    <s:textfield name="username" key="username"> 其中username要在资源文件中定义.

jsp临时国际化:
 1. 在src根目录下新建temp_zh_CN.properties,temp_en_US.properties文件.
 2. <s:i18n name="temp"> name属性是资源文件的base名字.嵌套标签<s:text name="hello"> 其中hello要在资源文件中定义.
 3. 如果要使用参数传递,properties文件格式如上面的注意.在<s:text>标签下嵌套<s:param>xxx</s:param>,则会在jsp文件显示参数.

原创粉丝点击