1,封装类
package org.ccit.com.domain;
import java.util.Date;
/**
* @program: struts2_03
* @description
* @author: LIANG
* @create: 2021-01-22 12:43
**/
public class User {
private String username;
private String password;
private Date birthday;
private String hobby;
private boolean married;
+(get set toString)
2,自定义类继承StrutsTypeConverter类重写方法
public class UserConverter extends StrutsTypeConverter {
/**
* @Description: 把字符串转化为对象类型
* @param map
* @param strings
* @param aClass
* @return: java.lang.Object
* @Author: LIANG
* @Date: 2021/1/22 18:19
*/
@Override
public Object convertFromString(Map map, String[] strings, Class aClass) {
//判断value不等于空
if(strings!=null&&strings.length>0){
//取数据
String dateStr=strings[0];
if("".equals(dateStr)){
return null;
}
//转换
SimpleDateFormat sdf=new SimpleDateFormat("yyyy#mm#dd");
try {
return sdf.parse(dateStr);
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
return null;
}
/**
* @Description: 把对象类型转成字符串类型
* @param map
* @param o
* @return: java.lang.String
* @Author: LIANG
* @Date: 2021/1/22 18:20
*/
@Override
public String convertToString(Map map, Object o) {
return null;
}
}
3,将自定义类与封装类关联 配置文件名称为:封装类名称+(-conversion.properties)
将属性与类型转换类关联
birthday=org.ccit.com.web.Converter.UserConverter
注:将转换器配置为全局
在根目录下创建xwork-coversion.properties文件
将所有Date类型的转换器规定为自己编写的转换器
java..util.Date=org.ccit.com.web.Converter.UserConverter