现在的位置: 主页 > 公司荣誉 > 文章正文

struts2 之类型转化日期

作者:武警河南洛阳红丝带网 来源:www.027fck.com 未知发布时间:2017-09-11 13:30:15
struts2 之类型转化日期

Struts中的基本类型是可以通过struts的默认类型转化器转化的..日日类型默认的是1992-02-03这样的格式,如果我们填写1992年02月03日,name就会报错...因此我们需要进行类型转化...

1.局部类型转化器:

开发步骤:

(1)写一个类型转化器继承StrutsTypeConverter这个类.

(2)在要转化的类的同级目录下写一个和ActionName-conversion.properties的配置文件,如我这里要转化的是UserAction类中date类型...

(3)在这个配置文件中写要转化的属性=类型转化器的全名.

user.date=cn.itcast.converter.MyConverter

2.全局类型 转化器

(1)写一个类型转化器继承StrutsTypeConverter这个类

(2)在src下写一个名称为xwork-conversion.properties的配置文件

(3)内容是:

java.util.Date=cn.itcast.converter.MyConverter

注册表单:(struts的配置文件略)


\


自定义类型转化器:

package cn.itcast.converter; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import org.apache.struts2.util.StrutsTypeConverter; public class MyConverter extends StrutsTypeConverter{ @Override public Object convertFromString(Map context, String[] values, Class toClass) { DateFormat[] df={new SimpleDateFormat(yyyy-MM-dd),new SimpleDateFormat(yyyy年MM月dd日),new SimpleDateFormat(yyyyMMdd)}; //判断是不是为null if(values==null||values.length==0){ return null; } //判断是不是Date类型 if(Date.class!=toClass){ return null; } for(int i=0;iUserAction:要转化是这个类中的user.date属性package cn.itcast.type; import cn.itcast.domain.User; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport{ private User user; public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String register(){ System.out.println(user.getUsername()+==+user.getAge()+==+user.getDate()); return register; } } 如果是:局部配置文件:

user.date=cn.itcast.converter.MyConverter
如果是:全局配置文件

java.util.Date=cn.itcast.converter.MyConverter

当我们在表单中填写如下内容:

\

控制台打印:

李卫康==22==Sat Sep 12 00:00:00 CST 1992

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:上海网站设计 http://www.flpsz.com

上一篇:[Python]图片压缩 下一篇:最后一页