Struts2学习5——国际化

国际化 , 也称为I18n,Internationalization的简写。

操作:

 

1.在struts.xml里加入配置

<span style="font-family: Arial, Helvetica, sans-serif;"><?xml version="1.0" encoding="UTF-8" ?></span>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
	<constant name="struts.custom.i18n.resources" value="itheima"></constant>  
	<constant name="struts.devMode" value="true" />
	<package name="a" extends="struts-default" namespace="/manage">
		<action name="LoginAction" class="com.cn.test.hb.LoginAction">
			<result name="success">/result.jsp</result>
			<result name="error">/error.jsp</result>
		</action>
	</package>
</struts>    
 

2.在src里新增资源文件:

命名规则是基名_语言代号_区域代号.properties

 

  • Resources_en_US.properties
  • Resources_zh_CN.properties
分别添加设置system_name变量,值为 "English System" 、 "Chinese System":
system.name=Englist System
system.name=\u4E2D\u6587\u7CFB\u7EDF

语言区域查询方式:

 

 

报错处理

 

[http-8080-2] WARN org.apache.struts2.util.TextProviderHelper - The default value expression 'system.name' was evaluated and did not match a property.  The literal value 'system.name' will be used.
这是因为system.name在资源文件里没有定义。
 

3.注意修资源文件后,要重新部署或重启Tomcat才能生效。

4.Action获取资源值

getText("")

5.jsp获取资源值

 

 

<%@ page language="java" pageEncoding="UTF-8"%>
<!-- 加载struts2标签库 -->
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
 	<body>
		s:text name=system.name
		<s:i18n name="Resources">
  		<span style="white-space:pre">	</span><s:text name="system.name"></s:text>
  		</s:i18n>
  		<br>
  		<s:textfield name="username" key="login.username"></s:textfield>
 	</body>
</html>

标签里的键可以参数化,如:

 

 

<s:text name="label.hello">
   <s:param>mytest</s:param>
</s:text>

 

 

 

6.国际化资源文件分为三种级别

  • (1) 全局资源文件,可以被整个应该程序引用,也就是struts.custom.i18n.resources=messageResource指定的文件
  • (2) 包级资源文件,每个包的根目录下可以新建资源文件,仅被当前包中的类访问.文件名格式为:package_语言代码_国家代码.
  • (3) Action级资源文件,仅被当前Action引用,名称为action名_语言代码_国家代码

查找顺序为从小范围到大范围, Action级优先级最大
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程圈子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值