struts2自定义日期类型转换器
在java web表单中提交的数据难免会有日期类型,struts2支持的日期类型是yyyy-MM-dd,如果是其他格式,就需要自己进行转换。比如yy-MM-dd
要完成自己定义的转换需要完成。
主要的类是:StrutsTypeConverter,该类是抽象类,需要实现两个方法
1)public Object convertFromString(Map context, String[] values, Class toClass)
2)public String convertToString(Map context, Object o)
其中第二个转换成字符串的不常用。
步骤:
1 定义转换器类
2 进行配置,局部或全局
1、定义转换器类
定义一个 DateConverter 类继承自 StrutsTypeConverter,实现两个虚方法
@Override
public Object convertFromString(Map context, String[] values, Class toClass) {
SimpleDateFormat[] sdfs = { new SimpleDateFormat("yyyyMMdd"),
new SimpleDateFormat("yyyy/MM/dd"),
new SimpleDateFormat("yyyy,MM,dd")};
//转换类型不是日期类型
if(toClass != Date.class){
return null;
}
//转换值是空或者长度为0
if(values == null || values.length==){
return null;
}
String strDate = values[];
Date birthday = null;
for(int i=;i<sdfs.length; i++){ try {
birthday = sdfs[i].parse(strDate);
return birthday;
} catch (ParseException e) {
continue;
} }
return birthday;
} @Override
public String convertToString(Map context, Object o) {
// TODO Auto-generated method stub
return null;
}
2 配置,分两种。一种是局部配置,另一种是全局配置
2.1)应用于特定Action类的类型转换器 在特定Action类的同一目录下创建一个名为ActionClassName-conversion.properties的属性文件
例如:我的Action类是public class AdminAction extends ActionSupport,对该类转换的属性文件名是:AdminAction-conversion.properties
配置格式:属性.属性 = 转换器类全名
例如:
Admin类
public class Admin {
private String aname;
private String apasswd;
private Date abirthday;
public Admin() {
// TODO Auto-generated constructor stub
}
public String getAname() {
return aname;
}
。。。。。
AdminAction类
public class AdminAction extends ActionSupport {
private Admin admin;
public Admin getAdmin() {
return admin;
}
public void setAdmin(Admin admin) {
this.admin = admin;
}
public String login(){
。。。
表单页面

配置内容:admin.abirthday=com.baidu.converter.DateConverter
2.2) 全局配置:在src目录下创建xwork-conversion.properties
配置格式:类型全名=转换器类全名
上面例子就是:java.util.Date=com.baidu.converter.DateConverter
struts2自定义日期类型转换器的更多相关文章
- Spring MVC__自定义日期类型转换器
WEB层采用Spring MVC框架,将查询到的数据传递给APP端或客户端,这没啥,但是坑的是实体类中有日期类型的属性,但是你必须提前格式化好之后返回给它们.说真的,以前真没这样做过,之前都是一口气查 ...
- SSM-SpringMVC-28:SpringMVC类型转换之自定义日期类型转换器
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 例子很简易,要明白的是思路,话不多说,开讲 上篇博客不是说springmvc默认的日期转换格式是yyyy/M ...
- struts_自定义日期类型转换器
1.问题:struts默认的日期类型是 xxxx-mm-dd,不能接收xxxx/mm//dd类型的日期 2.解决方案(继承DefaultTypeConverter,覆盖convertValue(Obj ...
- struts2自己定义类型转换器
1.1. struts2自己定义类型转换器 1) 自定类型转换类,继承DefaultTypeConverter类 package com.morris.ticket.conversio ...
- spring boot 配置全局日期类型转换器
1. 首先自定义一个类型转换器 import org.springframework.core.convert.converter.Converter; import org.springframew ...
- Struts2之自定义局部类型转换器、全局类型转换器
Struts2自定义类型转换器分为局部类型转换器和全局类型转换器 (1)局部类型转换器 如果页面传来一个参数reg.action?birthday=2010-11-12到后台action,然后属性用 ...
- struts2 基础2 类型转换器
struts2常用常量的定义与意义 每一次请求都会创建一个新的action,所以struts2的action是线程安全的 拆分struts 为应用指定多个struts配置文件 src 下为各应用配置的 ...
- SpringBoot配置自定义日期参数转换器
1.自定义参数转换器 自定义参数转换器必须实现Converter接口 /** * Created by IntelliJ IDEA. * * @Auther: ShaoHsiung * @Date: ...
- 自己定义struts2中action类型转换器
DateAction.java中代码例如以下: package com.itheima.action; import java.util.Date; public class DateAction { ...
随机推荐
- 【Eclipse】web项目部署新手篇
本文属于新手篇章,记录了Eclipse中部署web项目的步骤 1 . 添加Tomcat服务器 右键项目属性-->Run as-->Run on server弹出以下界面 点击finish之 ...
- 如何用好消息推送为app拉新、留存、促活
作为移动端APP产品运营最重要的运营手段,JPush消息推送被越来越多的APP厂商所重视,在信息泛滥的移动互联网时代,手机APP应用安装得越来越多,小小的手机屏幕每天收到的消息推送也越来越多,站在用户 ...
- C#中运算符的应用
c#中的运算符(只说我自己熟悉和常用的)一.算数运算:加 +减 -乘 *除 / (整型的除法是不算小数点的,也就是说结果是整数,余数舍去了,求余数看下面)求余数 % 加减乘好理解,整型的除法和求余数因 ...
- Java体系结构---垃圾回收
1 垃圾回收 1.1 JVM的体系结构 1.1.1 JVM 相当与JAVA 的操作系统,是运行JAVA Class文件的程序. 1.1.2 JVM体系 监控调优,运行时内存结构,类加载,calss ...
- Nginx+IIS+Redis 处理Session共享问题 1
最近遇到一个棘手的问题,微信公众平台的前端站点session老是丢失,我们是走的微信网页授权,授权后获取用户openid,丢失后没有openid后续的操作全白搭了,因为没了openid只能判断为客户不 ...
- SVNManager配置
1.svn与apache的安装 yum install -y subversion httpd httpd.conf添加如下内容: LoadModule dav_svn_module module ...
- PHP测试题讲解(20161027)
注: 关联数组 关联数组,它的每个 ID 键都关联一个值.在存储有关具体命名的值的数据时,使用数值数组不是最好的做法.通过关联数组,我们可以把值作为键,并向它们赋值. 例子 1 在本例中,我们使用一个 ...
- SQL语句流程函数
本人因为今天用到了流程函数,顿时感觉语法生疏啊,为了防止以后忘记,故写此篇!!! 流程函数是MySQL相对常用的一类函数, 用户可以使用这类函数在一个SQL语句中实现条件选择, 这样能够提高效率. 下 ...
- Ubuntu 16.04安装DB2 Express C v11.1
欢迎和大家交流技术相关问题:邮箱: jiangxinnju@163.com博客园地址: http://www.cnblogs.com/jiangxinnjuGitHub地址: https://gith ...
- @PostConstruct 注解
@PostConstruct 注解 /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. ...