第一步,在工程src目录下新建属性文件struts.properties,内容如下:
struts.custom.i18n.resources=globalMessages
第二步,在工程src目录下新建属性文件globalMessages_zh_CN.properties,内容如下:
HelloWorld=\u4f60\u597d
第三步,在工程src目录下新建属性文件globalMessages_en_US.properties,内容如下:
HelloWorld=Hello World
第四步,实现处理表单的Action,HelloWorld代码如下:
package com.dadao.struts2;
import java.util.Locale;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.util.LocalizedTextUtil;
public class HelloWorld extends ActionSupport {
private static final long serialVersionUID = 1L;
private Locale loc;
private String message;
@Override
public String execute() throws Exception {
message=LocalizedTextUtil.findDefaultText("HelloWorld",loc);
return SUCCESS;
}
public Locale getLoc() {
return loc;
}
public void setLoc(Locale loc) {
this.loc = loc;
}
public String getMessage() {
return message;
}
}
第五步,实现转换器LocalConverter,代码如下:
package com.dadao.struts2;
import java.util.Locale;
import java.util.Map;
import ognl.DefaultTypeConverter;
public class LocalConverter extends DefaultTypeConverter {
@Override
public Object convertValue(Map context, Object value, Class toType) {
if(toType==Locale.class){
String local=((String[])value)[0];
return new Locale(local.substring(0,2),local.substring(3));
}else if(toType==String.class){
Locale local=(Locale)value;
return local.toString();
}
return null;
}
}
第六步,在工程src目录下新建属性文件xwork-conversion.properties,内容如下:
java.util.Locale=com.dadao.struts2.LocalConverter
第七步,配置struts.xml文件,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="strutsPackage" extends="struts-default">
<action name="HelloWorld" class="com.dadao.struts2.HelloWorld">
<result>/index.jsp</result>
</action>
</package>
</struts>
第八步,完成index.jsp,代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<s:form action="HelloWorld" method="post">
input language:<s:textfield name="loc"></s:textfield>
<br><s:submit></s:submit>
</s:form>
<s:property value="message"/>
</body>
</html>
第九步,测试,
可在文本框中输入"en_US"和"zh_CN",并提交,查看效果
struts.custom.i18n.resources=globalMessages
第二步,在工程src目录下新建属性文件globalMessages_zh_CN.properties,内容如下:
HelloWorld=\u4f60\u597d
第三步,在工程src目录下新建属性文件globalMessages_en_US.properties,内容如下:
HelloWorld=Hello World
第四步,实现处理表单的Action,HelloWorld代码如下:
package com.dadao.struts2;
import java.util.Locale;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.util.LocalizedTextUtil;
public class HelloWorld extends ActionSupport {
private static final long serialVersionUID = 1L;
private Locale loc;
private String message;
@Override
public String execute() throws Exception {
message=LocalizedTextUtil.findDefaultText("HelloWorld",loc);
return SUCCESS;
}
public Locale getLoc() {
return loc;
}
public void setLoc(Locale loc) {
this.loc = loc;
}
public String getMessage() {
return message;
}
}
第五步,实现转换器LocalConverter,代码如下:
package com.dadao.struts2;
import java.util.Locale;
import java.util.Map;
import ognl.DefaultTypeConverter;
public class LocalConverter extends DefaultTypeConverter {
@Override
public Object convertValue(Map context, Object value, Class toType) {
if(toType==Locale.class){
String local=((String[])value)[0];
return new Locale(local.substring(0,2),local.substring(3));
}else if(toType==String.class){
Locale local=(Locale)value;
return local.toString();
}
return null;
}
}
第六步,在工程src目录下新建属性文件xwork-conversion.properties,内容如下:
java.util.Locale=com.dadao.struts2.LocalConverter
第七步,配置struts.xml文件,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="strutsPackage" extends="struts-default">
<action name="HelloWorld" class="com.dadao.struts2.HelloWorld">
<result>/index.jsp</result>
</action>
</package>
</struts>
第八步,完成index.jsp,代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<s:form action="HelloWorld" method="post">
input language:<s:textfield name="loc"></s:textfield>
<br><s:submit></s:submit>
</s:form>
<s:property value="message"/>
</body>
</html>
第九步,测试,
可在文本框中输入"en_US"和"zh_CN",并提交,查看效果
发表评论
-
img usemap属性 中国地图链接
2012-08-24 16:28 1322html的img标签:定义一个图像在网页中引入。它还有个use ... -
在js上获得cookie中指定的值
2012-08-02 10:56 807获得cookie中的"loginName" ... -
在servlet和filter中获取Spring上下文
2012-07-18 11:32 2583在servlet中 方法一:在spring上下文加载到内存后直 ... -
js作用域链的问题
2012-06-03 22:01 1150var name = "The Window&quo ... -
oracle10g导入导出命令
2011-08-09 16:50 917exp和imp一定要加$符号! -
oracle10g安装问题
2011-08-08 18:47 1135版本10g,安装是报错:ora-12638 身份证明检索失败, ... -
浏览器缓存
2011-07-18 17:16 856大家在系统开发中都可能会在js中用到ajax或者dwr,因为I ... -
文档类型 <!DOCTYPE HTML>
2011-07-15 11:00 982写html的时候需要定义文档类型,如果不定义,浏览器在渲染 ... -
log4j学习与应用总结
2011-07-09 17:03 1479最近几天研究log4j,个人的一些总结 严重声明问题 对于减少 ... -
获得一个节点对象的节点类型
2011-06-30 18:16 900html:<div id="aa"& ... -
JSTL 只有c:if 而没有 c:else
2011-06-10 14:00 12651在jsp中 我们可以在 《% %》中写if(){}else{} ... -
JSTL fmt数字日期格式化
2011-05-13 16:07 15096<%@ taglib uri="http:// ... -
el fn函数收藏
2011-05-12 11:28 1159可以截取,用fn函数: <%@ taglib pre ... -
多线程Java Socket编程示例
2011-03-30 14:53 897http://www.blogjava.net/sternin ... -
struts2 type="chain"时result的参数
2011-03-28 15:27 1773Type=“chain”时 result标签的参数可以有下面4 ... -
在eclipse中修改注释模板和myeclipse6.0下art+/不能用的解决办法
2011-03-09 15:45 1135注释模板设置 eclipse-->Window--> ... -
castor学习笔记
2011-02-21 16:02 2159castor是一个可以把java对象和XML进行相互转换的工具 ... -
获得字符串的拼音头和全拼的写法
2011-02-14 10:20 2081public class SpellCache impleme ... -
查找出clazz的声明属性以及父类的声明属性
2010-07-08 15:33 962private List _getFields(Class c ... -
关于自定义标签rtexprvalue属性
2010-07-02 11:56 1235自定义标签时,在<attribute>标签里指定& ...
相关推荐
### Struts2学习笔记知识点概览 #### 一、Struts的作用 - **核心功能**:Struts2框架的核心功能之一就是将业务逻辑与展示层分离,实现MVC(Model-View-Controller)架构模式。这有助于提高代码的可维护性、可扩展...
01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...
- **类型转换**:为了确保传入的数据能够正确地转换为所需的类型,Struts2提供了一系列内置的类型转换器,同时也支持自定义类型转换器。 - **内置转换器**:例如日期类型的转换器`DateTypeConverter`。 - **自定义...
Struts2通过这些组件和配置,实现了模型、视图和控制器之间的解耦,提高了开发效率。开发者可以利用其丰富的拦截器、插件机制和强大的表达式语言OGNL,来实现复杂的业务逻辑和动态视图渲染。同时,Struts2的灵活性...
国际化是Web应用的一项重要特性,Struts 2通过资源文件支持多语言环境,使得应用能够根据用户的地理位置自动切换语言显示。 - **1.2.8 SiteMesh页面布局框架简介** SiteMesh是Struts 2内置的一个页面布局框架,...
Struts2的核心是一个拦截器栈,通过配置不同的拦截器来实现不同的业务逻辑处理。 #### 三、Hibernate概述 **Hibernate** 是一个全功能的ORM(对象关系映射)框架,它能够将Java对象自动映射到数据库表中,并且可以...
- **如何切换语言环境**:实现应用程序的语言切换功能。 - **Struts异常处理机制**:了解如何处理Struts中的异常。 #### 十三、Hibernate - **ORMapping原理**:对象关系映射是将对象模型与关系数据库模型之间的...
学习Struts需要理解Action、Form Bean、ActionServlet、配置文件struts-config.xml以及Interceptor(拦截器)的工作原理。 【Spring】 Spring框架是一个全面的企业级应用开发框架,包含了依赖注入、AOP(面向切面...