第一步,在工程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 1308html的img标签:定义一个图像在网页中引入。它还有个use ... -
在js上获得cookie中指定的值
2012-08-02 10:56 798获得cookie中的"loginName" ... -
在servlet和filter中获取Spring上下文
2012-07-18 11:32 2575在servlet中 方法一:在spring上下文加载到内存后直 ... -
js作用域链的问题
2012-06-03 22:01 1140var name = "The Window&quo ... -
oracle10g导入导出命令
2011-08-09 16:50 901exp和imp一定要加$符号! -
oracle10g安装问题
2011-08-08 18:47 1129版本10g,安装是报错:ora-12638 身份证明检索失败, ... -
浏览器缓存
2011-07-18 17:16 814大家在系统开发中都可能会在js中用到ajax或者dwr,因为I ... -
文档类型 <!DOCTYPE HTML>
2011-07-15 11:00 958写html的时候需要定义文档类型,如果不定义,浏览器在渲染 ... -
log4j学习与应用总结
2011-07-09 17:03 1471最近几天研究log4j,个人的一些总结 严重声明问题 对于减少 ... -
获得一个节点对象的节点类型
2011-06-30 18:16 881html:<div id="aa"& ... -
JSTL 只有c:if 而没有 c:else
2011-06-10 14:00 12641在jsp中 我们可以在 《% %》中写if(){}else{} ... -
JSTL fmt数字日期格式化
2011-05-13 16:07 15088<%@ taglib uri="http:// ... -
el fn函数收藏
2011-05-12 11:28 1150可以截取,用fn函数: <%@ taglib pre ... -
多线程Java Socket编程示例
2011-03-30 14:53 882http://www.blogjava.net/sternin ... -
struts2 type="chain"时result的参数
2011-03-28 15:27 1755Type=“chain”时 result标签的参数可以有下面4 ... -
在eclipse中修改注释模板和myeclipse6.0下art+/不能用的解决办法
2011-03-09 15:45 1123注释模板设置 eclipse-->Window--> ... -
castor学习笔记
2011-02-21 16:02 2141castor是一个可以把java对象和XML进行相互转换的工具 ... -
获得字符串的拼音头和全拼的写法
2011-02-14 10:20 2062public class SpellCache impleme ... -
查找出clazz的声明属性以及父类的声明属性
2010-07-08 15:33 950private List _getFields(Class c ... -
关于自定义标签rtexprvalue属性
2010-07-02 11:56 1216自定义标签时,在<attribute>标签里指定& ...
相关推荐
struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换
同时,Struts2支持国际化,通过资源文件实现多语言切换。 七、异常处理 Struts2提供了全局和局部两种异常处理方式。全局异常处理配置在struts.xml中,可捕获所有Action的异常;局部异常处理则在Action类中通过@...
### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...
根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...
在实际项目中,Struts2可以处理类型转换、文件上传下载、拦截器(Interceptor)防止重复提交等问题。Interceptor是Struts2中的重要特性,它允许在Action执行前后插入额外的处理逻辑,如登录验证、日志记录等。深入...
### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...
张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...
在本篇“Struts2学习笔记三”中,我们将聚焦于Struts2的类型转换这一核心特性。类型转换在处理用户提交的数据时非常关键,它允许Struts2自动将请求参数转换为Java对象的属性。 在Struts2中,类型转换主要由`...
8. **国际化(Internationalization, i18n)**:Struts2支持多语言环境,通过资源包(Properties文件)实现不同语言的切换,提供更好的用户体验。 9. **异常处理**:Struts2允许定义全局和Action级别的异常处理策略...
### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...
### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...
struts2学习笔记struts2学习笔记struts2学习笔记
1. **创建自定义转换器类**:继承`org.apache.struts2.util.FieldAwareConverter`或者直接实现`Converter`接口。在这个例子中,我们可能会创建一个名为`CustomDateConverter`的类,该类负责将字符串"20110202"转换为...
开发者可以实现`org.apache.struts2.util.TypeConverter`接口或继承`org.apache.struts2.util.StrutsTypeConverter`抽象类来创建自己的类型转换器。然后,通过在Action类或者全局配置文件(struts.xml)中注册这个...
在"Struts2学习笔记四(第4讲.Struts2的类型转换续)"中,我们将会深入探讨Struts2中的类型转换机制,这是一个核心特性,用于处理Action类属性与HTTP请求参数之间的数据类型转换。 在HTTP请求中,数据通常是字符串...