Struts2 局部类型转换和全局类型转换实践
来源:互联网 发布:破坏公司网络罪 编辑:程序博客网 时间:2024/06/06 04:31
1.先写一个自定义转换器
public class DataTypeConverter extends DefaultTypeConverter {
@Override
public Object convertValue(Map<String, Object> context, Object value, Class toType) {
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
try {
if (toType == Date.class) {
String params[] = (String[]) value;
return df.parse(params[0]);
} else if (toType == String.class) {
Date date = (Date) value;
return df.format(date);
}
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}
注意:DefaultTypeConverter 可继承自两个包都可行,她们分别是:com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter和ognl.DefaultTypeConverter。
2.在action中定义属性,并给于set和get:
private Date birthDay;
public Date getBirthDay() {
return birthDay;
}
public void setBirthDay(Date birthDay) {
this.birthDay = birthDay;
}
public String execute() {
System.out.println(birthDay+"-----");
return "success";
}
在视图中输出${birthDay}
3.局部类型转换:在action所在的目录下新建xxxAction-conversion.properties文件,内容为:birthday=cn.xxx.type.DataTypeConverter.
全局类型转换:在src下或WEB-INF下新建xwork-conversion.properties文件,内容为:java.util.Date=cn.xxx.type.DataTypeConverter.
4.在请求中传递日期字符串20151225
5.预期结果应该是上图中输出:20151225,并在控制台输出:20151225-----.但实际在控制台输出null----。这是啥原因造成的呢。
我把xwork-conversion.properties放在src路径下就ok了。。。。。所以之前应该是文件没有读取到。
- Struts2 局部类型转换和全局类型转换实践
- Struts2局部类型转换
- 自定义struts2类型转换的全局与局部错误信息。
- struts2类型转换(局部类型转换)
- struts2-局部类型和全局类型转换器
- struts2自定义全局和局部类型转换器
- Struts2的类型转换之全局类型转换
- struts2学习(二)--转换器StrutsTypeConverter和全局类型转换
- struts2--(局部)自定义类型转换
- Struts2参数和类型转换
- struts2类型转换和验证
- Struts2类型转换和自定义类型
- Struts2自定义类型转换器分为局部类型转换器和全局类型转换器
- struts2类型转换
- struts2类型转换续
- Struts2的类型转换
- struts2 类型转换流程
- Struts2中的类型转换
- Java中对于时间的操作
- 基于fabric和hg的自动化部署
- 10027---IO流 InputStream & Reader
- Light OJ 1300 - Odd Personality
- 模拟登陆的背后
- Struts2 局部类型转换和全局类型转换实践
- QT环境搭建,QT各个历史版本下载地址,QT SDK下载地址
- 最简单的安卓环境搭建
- 杭电-5586-最大子序列和
- Python基础(1)
- Python定时执行之Timer
- (NO.001)升级Xcode8 真机调试iOS10 报错“Could not find Developer Disk Image”解决办法
- 扩大VMware虚拟机中linux硬盘空间
- 开荒新系列之LeetCode: 001-Nim Num