struts关于多个时间需要转换
来源:互联网 发布:daxulu域名更换 编辑:程序博客网 时间:2024/05/01 23:15
前提:
类型转换需要实现defaultTypeconverter的public Object convertValue(Map<String, Object> context, Object value, Class toType) 方法
有全局类型转转换和局部类型转换,后者会覆盖前者
全局写法:在src下建xwork.conversion.properties文件
局部写法:在当前类下建ActionName.conversion.properties文件。
定义时间转换类DateConverter
public class DateConverter extends DefaultTypeConverter
说明:在这里我们以对时间转换为例,并且分别在全局和局部下传多个和一个时间进行对比。
一个局部:
jsp:创建开始日期:<input type="text" name="strartDate" value="11111111">格式yyyyMMdd<br>
Action类:private Date strartDate;
ActionName.conversion.properties: strartDate=DateConverter全路径
DateConverter主要代码:
if(toType!=java.util.Date.class){return null;}if(value instanceof java.lang.String[]){String [] strDate = (String[])value;SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");//定义转换的格式Date date = null;try {date = format.parse(strDate[0]);} catch (ParseException e) {return null;}return date;}
一个全局:
jsp:创建开始日期:<input type="text" name="strartDate" value="11111111">格式yyyyMMdd<br>
Action类:private Date strartDate;
ActionName.conversion.properties: java.util.Date=DateConverter全路径DateConverter主要代码:
if(toType!=java.util.Date.class){return null;}if(value instanceof java.lang.String[]){String [] strDate = (String[])value;SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");//定义转换的格式Date date = null;try {date = format.parse(strDate[0]);} catch (ParseException e) {return null;}return date;}
多个局部:
jsp:创建开始日期:<input type="text" name="strartDate" value="11111111">格式yyyyMMdd<br>
创建结束日期:<input type="text" name="strartDate" value="22222222">格式yyyyMMdd<br>
Action类:private Date[] strartDate;
ActionName.conversion.properties: strartDate=DateConverter全路径DateConverter主要代码:
if(toType !=java.util.Date.class[]){System.err.println("进来3");return null;}if(value instanceof String[]){System.err.println("进来4");Date[] Dates = new Date [2];String[] DateArray = (String[])value;SimpleDateFormat format = new SimpleDateFormat("yyyMMdd");System.out.println(DateArray.length+"长度");for(int i = 0;i<DateArray.length;i++){try {Dates[i] = format.parse(DateArray[i]);System.out.println("************"+Dates[i]);} catch (ParseException e) {// TODO Auto-generated catch blockreturn null;}}return Dates;}
多个全局:
jsp:创建开始日期:<input type="text" name="strartDate" value="11111111">格式yyyyMMdd<br>
创建结束日期:<input type="text" name="strartDate" value="22222222">格式yyyyMMdd<br>
Action类:private Date[] strartDate;
ActionName.conversion.properties: java.util.Date=DateConverter全路径DateConverter主要代码:
if(toType !=java.util.Date.class){System.out.println("全局时他传的是一个Date类型不是Date类型数组");return null;}if(value instanceof java.lang.String){String DateStr = (String)value;SimpleDateFormat format = new SimpleDateFormat("yyyMMdd");Date dates = null;try {dates = format.parse(DateStr);} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}return dates;}else {System.out.println("全局时传的是一个字符串,不是字符串数组");}
总结:
传一个不管全局还是局部toType不是数组 value是数组
传多个时全局:toType不是数组,分多次传每传一个,value也不是娄数组
传多个时局部:totype是数组一次传,value是数组
- struts关于多个时间需要转换
- 关于struts的类型转换
- 关于时间格式转换
- 关于时间的转换
- 关于时间转换-----angularjs
- 关于time_t转换成我需要的时间的处理方法
- struts时间格式转换问题处理方案
- 关于Struts中循环显示多个数组 的补充
- 关于Selector方法需要多个参数的问题解决方法
- 关于Java时间类型转换
- 关于VC++方面时间转换
- 关于时间比较及转换
- 关于时间戳的转换
- 关于spring mvc 时间转换
- 关于js转换时间戳
- 多个struts配置文件
- ios对于时间转换 时间戳转需要文字
- redis缓存数据需要指定缓存有效时间范围段的多个解决方案 Calendar+quartz
- IOS中获取各个文件的目录路径的方法和NSFileManager类
- 欧拉函数
- jdbc连接SQL Server——非常简单,只需3步
- 读mybatis源码之十四:mybatis事务处理
- dojo小例子(17)iframe上传文件到rest后台,以及乱码问题解决
- struts关于多个时间需要转换
- 程序员技术练级攻略
- C语言几点说明
- RedHat Linux下安装JDK1.7报错Permission denied
- 决策树算法原理及JAVA实现(ID3)
- OnlineJudge框架编写日志
- 快速排序1 升序
- inline函数和一般的函数有什么不同
- sublime_text 2 package ftp ftps sftp