欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

struts2的国际化

程序员文章站 2022-05-24 11:28:55
...

Internationalization:国际化(简写:I18n)

意思:将页面可以中英文切换
第一步:先新建两个配置文件
xx_en_CN.properties 切换中文的配置
xx_zh_US.properties 切换英文的配置
_en_US.properties,_zh_US.properties是规范,必须这样写,xx自定义的写

xx_en_CN.properties 里面的写法(只要页面上有的中文或者英文都要写)

##左边是键 右边是值 (写中文所对应的英文)
name=Name
password=PassWord
login=Login
phone=Phone

xx_en_US.properties 里面的写法(只要页面上有的中文或者英文都要写)

##左边是键 右边是值 (写英文所对应的中文)
name=用户名
password=密码
login=登录
phone=电话

两个配置文件的键要一模一样

第二步:struts.xml里面

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
    
    <struts>
    <!-- 允许框架查找语音的配置  value:就是xx位置的名称-->
     <constant name="struts.custom.i18n.resources" value="xx"></constant>
     <package name="default" namespace="/" extends="struts-default">
      <action name="testAction_*" class="com.ystruts.action.TestAction" method="{1}">
       <result name="I18n">Login.jsp</result>
      </action>
     </package>
    </struts>

第三步 方法中

public String fy() {
   //直接返回I18n
   return "I18n";
  }

使用时:jsp页面

<!-- 把之前的值替换成从配置文件中取出来的 name:是配置文件的键 -->
   <s:text name="uame"></s:text><input type="text" name="name"/>
   <s:text name="password"></s:text><input type="password" name="pws"/>
   <s:text name="phone"/><input type="text" name="phone"/>
   <input type="submit" value="<s:text name="login"/>"/>
  <!-- request_locale=zh_CN 规范就是这样写的-->
   <a href="testAction_fy?request_locale=zh_CN">中文</a>/
   <a href="testAction_fy?request_locale=en_US">English</a>