struts2为国际化进行了进一步封装,从而简化了应用程序的国际化。
加载国际化资源的方式,最简单的是加载全局的国际化资源文件,配置struts.custom.i18n.resources常量即可。
<constant name="struts.custom.i18n.resources" value="mess"></constant>
这样就指定了加载baseName为mess的资源文件。然后创建mess_en_US.properties和mess_zh_CN.properties文件,放在根目录下。eclipse环境下可直接放在src下,这样eclipse会自动整合的。然后就可以用资源文件了,如:
<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title><s:text name="loginPage"></s:text></title>
</head>
<body>
<s:form action="login.action">
<s:textfield name="username" key="user"></s:textfield>
<s:password name="password" key="pass"></s:password>
<s:submit key="login"></s:submit>
</s:form>
</body>
</html>
通过key来输出国际化消息。
输出占位符的国际化消息,在国际化文件中保留占位符:succTip=welcome,{0}
可以通过struts2提供的getText()方法来填充,getText("succTip",new String[]{"hello"});这样succTip变成了welcome,hello
在jsp中,可以使用struts2标签来处理占位符:
<s:text name="succTip">
<s:param>${sessionScope.user}</s:param>
</s:text>
通过param标签来设置。
加载资源文件的方式有多种:
1、包范围的资源文件
在包的根路径下放置国际化资源文件,并且baseName就是package(就是package本身,而不是action的包名)。
2、action范围的资源文件
baseName为action类名,如LoginAction_zh_CN.properties放在LoginAction相同的包下。
3、临时指定资源文件
将资源文件放在src下,不在struts.xml中指定,在jsp页面中用<s:i18n>标签使用:
<s:i18n name="baseName">
<title><s:text name="loginPage"/></title>
</s:i18n>
资源文件有多种加载方式,那么就会有加载顺序。
1.先加载action类文件相同位置,且baseName为action的系统资源
2.若加载不到,且action有父类,则加载父类文件相同位置,且baseName为父类类名的系统资源
3.若找不到,且action实现了iaction类,则加载iaction接口相同位置,且baseName为iaction的系统资源
4.若找不到,查找当前包下baseName为package的资源文件
5.若还找不到 ,则沿着当前包上溯,知道顶层包
6.最后加载struts.xml文件中配置的资源文件。
对于i18n标签,首先加载标签中指定的资源,若找不到,则查找配置文件中的资源文件,最后,直接输出该key的字符串值。
![](/images/smiles/icon_arrow.gif)
交流群:132607763 若满了,请加:251207741
分享到:
相关推荐
12. struts.i18n.encoding:这是国际化信息的内码,Struts2用于处理国际化信息。 13. struts.i18n.reload:这是一个布尔值,用于确定是否自动加载国际化信息。如果设置为true,Struts2将自动加载国际化信息。 14. ...
Struts2的国际化支持及JDK对国际化的支持深入详解,是一段视频,讲解细致
Struts2开发详解,讲述Struts2开发中的详细配置,已经它的验证,国际化等。
Struts2实现国际化+天气webservice接口+股票webservice接口,源代码可直接使用,用MyEclipse直接导入
Java国际化支持实例 博文链接:https://zmx.iteye.com/blog/461474
自己学会的,保存的学习网页,给大家分享 struts2 国际化
该属性指定Struts 2应用所需要的国际化资源文件,如果有多份国际化资源文件,则多个资源文件的文件名以英文逗号(,)隔开. struts.diSPAtcher.parametersWorkaround 对于某些Java EE服务器,不支持HttpServlet Request...
加载附加的国际化属性文件(不包含.properties后缀) struts.custom.properties Location of additional configuration properties files to load 加载附加的配置文件的位置 struts.devMode Whether Struts ...
配置国际化全局资源文件、输出国际化信息 输出带有占位符的国际化信息 配置包范围国际化资源文件 配置Action范围国际化资源文件 ognl表达式 Struts 2常用标签解说 使用标签防止表单重复提交 Struts 2+...
IBMStruts2培训PPT (大全集) 主讲:刘雷 完整实用 ...第六章:struts2国际化.ppt 第七章:Struts2验证机制.ppt 第八章:struts2文件上传下载.ppt 第九章:struts2拦截器.ppt + Struts2开发详解.ppt
1.action级别下的国际化 47 2.配置package的资源文件 48 3.app级别的资源文件 48 4.使用资源文件的原理 49 5.选择使用资源文件 49 八、验证机制 50 1.基于手工编码的校验 50 简析校验流程: 53 2.基于XML配置形式的...
里面包括<html><bean><logic><tiles><nested><br>五组标签库的详细... 另外还有国际化(文字国际化/图片国际化)、 表单验证,以及验证框架 例子是用JBuilder2006做的 绝对经典!!!!!!!!!!!!!
Spring、Struts2、Hibernate 面试题中的知识点,涵盖了 MVC 模式、Struts1.2 和 Struts2.0 的区别、单例模式、Servlet 依赖、可测试性、项目中使用 SSH 的原因、Struts 和 Spring 的继承关系、实现国际化等方面的...
对struts2的内部详细讲解 例如:struts xml struts2的action使用 以及国际化 验证等技术
Struts2Ajax刷新,验证框架,国际化详解。
第一章:认识体验Struts 2 第二章:struts2架构剖析 第三章:struts2配置详解 ...第六章:struts2国际化 第七章:struts2验证 第八章:struts2文件上传下载 第九章:struts2拦截器 第十章:struts2类型转换
properties文件即i18n国际化多国语言版的用法,struts2前台校验,对输入的数据进行验证validators struts2 OGNL 表达式详解 struts2 #,*,%
2.5.3 自定义国际化struts 2校验错误消息 92 2.5.4 struts 2的自带校验器 92 2.6 struts 2的拦截器 94 2.6.1 struts 2内建拦截器介绍 95 2.6.2 定义和使用拦截器栈 97 2.6.3 使用自定义拦截器 98 2.7 小结 100...
很好的struts框架资料,包括java web编程基础、struts入门、struts详解、struts国际化和数据验证
第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为Struts框架篇,内容不仅包括Struts 1.x的内容,也包括Struts 2.x中的内容;第5篇为Hibernate框架...