重要重要:以后一定要导对包,到错了一个包纠结了一天重点内容
一、Struts2中有自带类型转换器也有自定义类型转换器
1)比如表单提交的信息有 用户名,生日, 年龄, Action中对应的数据类型分别
是 String, Date, int.没什么好说的, Struts2会自动完成.
2)Struts2内建了常用的类型转换器,如String ,boolean,char,int,long,float,double,Date, 数组
(假定元素是String类型),
集合(假定元素是String类型,用ArrayList封装)
实现自定义类型转换器
1) 实现TypeCoverter接口,或者继承DefaultTypeConverter实现类
(该类实现了TypeCoverter接口),通过继承该实现类来实现自己的
类型转换器。重写convertValue方法即可。
为了简化类型转换器的实现,Struts2提供了一个StrutsTypeConverter抽
象类,这个抽象类是DefaultConverter的子类。实现了方法,并提供了2个
不同转换方向的方法:
Object convertToString(Map context,String[] values,Class toClass)和String convertFromString(Map context,Object o)
二、实现自定义转换器
1)Action类 ConversionAction.java
package com.app.action;
import java.util.Date;
import com.opensymphony.xwork2.ActionSupport;
public class ConversionAction extends ActionSupport{
private static final long serialVersionUID = 1L;
private int age;
private Date birthday;
public ConversionAction() {
System.out.println("执行。。");
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String execute()
{
System.out.println("执行了");
System.out.println("age: "+age);
System.out.println("birthday: "