struts2中自定义类型转换器

8 自定义类型转换
作用: 默认情况下,页面的日期类型只能接收 yyyy-MM-dd类型,如果要转换yyyy/MM/dd这种类型,则需要使用自定义类型转换器进行转换。

strut2提供了自定义类型转换器的基类: StrutsTypeConverter类

/**
 * 自定义日期类型转换器
 * @author APPle
 *
 */
public class MyDateConverter extends StrutsTypeConverter{

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd");

/**
* 从页面的数据到服务器的类型转换
* 参数一: context: 值栈上下文对象
* 参数二: values:  从页面传递过来的参数值
* 参数三: toClass: 转换到的类型。String->java.util.Date
*/
@Override
public Object convertFromString(Map context, String[] values, Class toClass) {
System.out.println("进入了转换器");
try {
//1)判断values是否为空
if(values==null || values.length==0){
return null;
}

if(values.length>1){
//多个值的情况
Date[] dates = new Date[values.length];
//2)取出数据进行转换
for(int i=0;i<dates.length;i++){
Date date = sdf1.parse(values[i]);
dates[i] = date;
}
return dates;
}else{
//一个值的情况
Date date = sdf1.parse(values[0]);
return date;
}
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
/**
* 从服务器到页面的类型转换
*/
@Override
public String convertToString(Map context, Object o) {
return null;
}
}

绑定自定义转换器的方式:
方式一: 局部绑定(只能绑定一个Action)
1)建立一个 Action的文件名-conversion.properties
2)一定和绑定的Action放在同一个目录下。
3)文件中的内容:user.birth=gz.itcast.g_convert.MyDateConverter


方式二: 全局绑定(绑定整个项目多个Action)(推荐使用)
1)建立一个xwork-conversion.properties
2)该文件一定放在src目录下。
3)文件中的内容:java.util.Date=gz.itcast.g_convert.MyDateConverter
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值