`
AlexShaw
  • 浏览: 13019 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
最近访客 更多访客>>
社区版块
存档分类
最新评论

Struts2的类型转换器_自我学习

 
阅读更多

首先,要定义一个类用于类型转换,继承DefaultTypeConverter,重写convertValue方法

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;

public class DateTypeConvert extends DefaultTypeConverter {

	@Override
	public Object convertValue(Map<String, Object> context, Object value,
			Class toType) {
		try {
			//context即上下文
			//value就是需要进行转换的值(数组)
			//toType为将要转换成的类
			String[] str = (String[])value;
			String s = str[0];
			SimpleDateFormat sm = new SimpleDateFormat("yyyyMMdd");
			if(toType == Date.class)
			{
				return sm.parse(s);
			}else if(toType == String.class)
			{
				Date date =  (Date)value;
				return sm.format(date);
			}
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return null;
	}
}
定义好转换器之后就需要注册转换器。在action包下建立一个 actionName-convertion.properties文件注册,如 Date = com.test.upload,局部类型转换器配置文件前面为类名,后面为固定格式
全局类型转换器,全局类型转换器要求需要转换的参数都是一种格式
类型转换器定义与局部一样,唯一的区别是配置文件需要放在类路径src地下,且命名规则为xwork-convertion.properties

 

分享到:
评论

相关推荐

    struts学习笔记(2)

    11.拦截器 interceptor(和之前学的filter很类似) ...可以帮我们丰富action的功能,比自动类型转换(页面传一个String类型的id,接收的时候id为我们自己定义long类),或者自动帮我们把值放入到action里面对应的属性中等等

    BBS-struts2课程设计-南工考研论坛

    (2) 用户处于只有登录之后才可以讨论,聊天;如果没有登录只可以查看信息。 (3) 用户注册,需要通过Struts2字段校验判断用户注册页面中的用户名、密码、年龄、出生日期、邮箱等是否符合校验规则,并对自定义校验器...

    Struts2学习入门Demo备份

    包括struts的简单异常处理,类型转换,文件上传,文件下载拦截器..自己的代码backup...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    7.3.1 对自定义的类型转换器进行配置 126 7.3.2 自定义的类型转换器示例 127 7.4 扩展StrutsTypeConverter类 130 7.5 与复杂对象配合使用 134 7.6 与Collection配合使用 137 7.7 与Map配合使用 142 7.8 小结 145 第...

    外文翻译 stus MVC

    Struts is a set of cooperating classes, servlets, and JSP tags that make up a reusable MVC 2 design. This definition implies that Struts is a framework, rather than a library, but Struts also contains...

    JAVA上百实例源码以及开源项目源代码

     通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后的公钥,将其解码,李四用张三的公钥加密信息,并发送给李四,张三用自己的私钥解密从李四处收到的信息…… Java利用DES私钥对称加密代码实例 ...

    JAVA上百实例源码以及开源项目

     通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后的公钥,将其解码,李四用张三的公钥加密信息,并发送给李四,张三用自己的私钥解密从李四处收到的信息…… Java利用DES私钥对称加密代码实例 ...

    UML和模式应用(架构师必备).part02.rar

    39.4 示例:Jakarta Struts 的SAD 39.5 过程:迭代式架构文档 39.6 参考资料 第六部分 其 他 主 题 第40章 迭代式开发和敏捷项目管理的进一步讨论 40.1 如何计划一次迭代 40.2 适应性计划与预测性计划 40.3 ...

    UML和模式应用(架构师必备).part01.rar

    39.4 示例:Jakarta Struts 的SAD 39.5 过程:迭代式架构文档 39.6 参考资料 第六部分 其 他 主 题 第40章 迭代式开发和敏捷项目管理的进一步讨论 40.1 如何计划一次迭代 40.2 适应性计划与预测性计划 40.3 ...

    UML和模式应用(架构师必备).part07.rar

    39.4 示例:Jakarta Struts 的SAD 39.5 过程:迭代式架构文档 39.6 参考资料 第六部分 其 他 主 题 第40章 迭代式开发和敏捷项目管理的进一步讨论 40.1 如何计划一次迭代 40.2 适应性计划与预测性计划 40.3 ...

    UML和模式应用(架构师必备).part06.rar

    39.4 示例:Jakarta Struts 的SAD 39.5 过程:迭代式架构文档 39.6 参考资料 第六部分 其 他 主 题 第40章 迭代式开发和敏捷项目管理的进一步讨论 40.1 如何计划一次迭代 40.2 适应性计划与预测性计划 40.3 ...

    UML和模式应用(架构师必备).part03.rar

    39.4 示例:Jakarta Struts 的SAD 39.5 过程:迭代式架构文档 39.6 参考资料 第六部分 其 他 主 题 第40章 迭代式开发和敏捷项目管理的进一步讨论 40.1 如何计划一次迭代 40.2 适应性计划与预测性计划 40.3 ...

    UML和模式应用(架构师必备).part04.rar

    39.4 示例:Jakarta Struts 的SAD 39.5 过程:迭代式架构文档 39.6 参考资料 第六部分 其 他 主 题 第40章 迭代式开发和敏捷项目管理的进一步讨论 40.1 如何计划一次迭代 40.2 适应性计划与预测性计划 40.3 ...

    UML和模式应用(架构师必备).part08.rar

    39.4 示例:Jakarta Struts 的SAD 39.5 过程:迭代式架构文档 39.6 参考资料 第六部分 其 他 主 题 第40章 迭代式开发和敏捷项目管理的进一步讨论 40.1 如何计划一次迭代 40.2 适应性计划与预测性计划 40.3 ...

    UML和模式应用(架构师必备).part05.rar

    39.4 示例:Jakarta Struts 的SAD 39.5 过程:迭代式架构文档 39.6 参考资料 第六部分 其 他 主 题 第40章 迭代式开发和敏捷项目管理的进一步讨论 40.1 如何计划一次迭代 40.2 适应性计划与预测性计划 40.3 ...

Global site tag (gtag.js) - Google Analytics