extjs4-springmvc自定义日期类型绑定问题

问题描述

springmvc自定义日期类型绑定问题

我在用springmvc自定义日期类型绑定,但是根本debug的时候进入不了自定义转换的类DateConverter中,也就是没有转换,我的birthday参数前后台都是birthday,用得是extjs4.0
源码如下 求解决

 <context:component-scan base-package="cn.qs.ctrl"></context:component-scan>
    <mvc:annotation-driven conversion-service="conversionService">
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes" value="text/plain;charset=UTF-8" />
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

    <!-- 转换器 -->
    <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
        <property name="formatters">
            <set>
                <bean class="cn.qs.ctrl.converter.DateConverter"></bean>
            </set>
        </property>
    </bean>

    public class DateConverter implements Formatter<Date> {

    @Override
    public String print(Date arg0, Locale arg1) {
        return null;
    }

    @Override
    public Date parse(String text, Locale locale) throws ParseException {
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date = null;
            try {
                date = format.parse(text);
            } catch (Exception e) {
                format = new SimpleDateFormat("yyyy-MM-dd");
                date = format.parse(text);
            }
            return date;
    }

}

@ResponseBody
    @RequestMapping(value="/addStu",produces = {"text/json;charset=UTF-8"})
    public String addStu(Student student) throws ParseException {
        this.studentService.add(student);
        String response = "{success:true"+",id:"+student.getId()+"}";
        System.out.println(response);
        return response;
    }

    public class Student implements Serializable{
    private static final long serialVersionUID = 8277935630491910878L;

    @Expose
    private Long id;
    @Expose
    private String name;
    @Expose
    private Date birthday;
    @Expose
    private String address;

    private String startBirth;
    private String endBirth;

    public String getStartBirth() {
        return startBirth;
    }
    public void setStartBirth(String startBirth) {
        this.startBirth = startBirth;
    }
    public String getEndBirth() {
        return endBirth;
    }
    public void setEndBirth(String endBirth) {
        this.endBirth = endBirth;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public Date getBirthday() {
        return birthday;
    }
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }

    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    @Override
    public String toString() {
        return "Student [id=" + id + ", name=" + name + ", birthday="
                + birthday + ", address=" + address + "]";
    }

}

解决方案

SpringMVC自定义日期类型的数据绑定
SpringMVC自定义日期类型的数据绑定
SpringMVC自定义日期类型的数据绑定

解决方案二:

貌似时间类型不需要写自定义类型转换器吧,SpringMVC貌似提供了……我博客里好像写过,你可以看一下 http://mritd.me

解决方案三:

http://www.th7.cn/Program/java/201312/163370.shtml

时间: 2024-11-01 19:23:41

extjs4-springmvc自定义日期类型绑定问题的相关文章

springmvc日期参数绑定为null

问题描述 springmvc在给bean对象的日期属性绑定参数时为空,如下:public void save(User user){ //TODO}User对象中有一个属性birthday,在页面提交的form表单中有<input type="text" name="birthday" value="2012-04-10 10:10:10" />但是当后台打印出user中的属性值时,发现birthday属性为null,其他的属性都可以

[Spring MVC]-详解SpringMVC的各种参数绑定方式_java

SpringMVC的各种参数绑定方式 1. 基本数据类型(以int为例,其他类似): Controller代码: @RequestMapping("saysth.do") public void test(int count) { } 表单代码: <form action="saysth.do" method="post"> <input name="count" value="10" t

java自定义日期转化类示例_java

java自定义日期转化类 复制代码 代码如下: import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date; import org.apache.commons.beanutils.Converter; /** * 自定义 java.util.Date日期转换器 *  *  */public class MyDateConve

frame-我在添加和修改是只要是有关日期类型的字段就会报错

问题描述 我在添加和修改是只要是有关日期类型的字段就会报错 我用的pastgresql数据库 ,Springmvc hibernate,Spring,frame框架! 错误信息是: Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'birthday'; nested exception is org.springframework.

flex4 日期类型字符串转日期类型(string转Date)(转)

mysql数据库中存储的日期类型通过PHP返回到flex端为字符串类型,这样在flex中进行处理时就必须要将字符串转化为Date类型.如果仅仅是 "年/月/日" 的组合,而没有涉及到"时/分/秒"那么直接使用DateField的静态方法stringToDate()就可以实现,方法如下:        var strToday:String = "2011-3-12";         var dateToday:Date = DateField.

MOSS 2010 自定义字段类型,创建栏成功,但是打开添加列表内容出现错误,请问是怎么回事?

问题描述 要实现的自定义字段类型功能是,自定义一个可以验证Email格式的多行文本框.我贴出来我的开发过程:首先,我创建了一个空的sharepoint项目,命名为:ITSM.CustomFields第二步,添加三个类文件,Email.Field.cs,Email.Field.Value.cs,Email.FieldControl.cs第三步,添加UserControl,EmailFieldRendering.ascx第四步,添加xml文件,fldtypes_Email.xml最后我把第三步,第四

POI对Excel自定义日期格式的读取(实例代码)_java

用POI读取Excel数据:(版本号:POI3.7) 1.读取Excel private List<String[]> rosolveFile(InputStream is, String suffix, int startRow) throws IOException, FileNotFoundException { Workbook xssfWorkbook = null; if ("xls".equals(suffix)) { xssfWorkbook = new H

在.net中Oracle日期类型的处理

oracle 刚接触Oracle数据库,发现Oracle中的日期类型很难处理,必须为如11-11月-2004,而且必须是汉字月,不知是什么原因,从数据库里读出来再更新日期不变的情况下也不能更新了,真是麻烦,还得转换类型,在网上查了很多帖子,也没有找到好的解决办法,看msdn找到一个类CultureInfo,就写了一个方法转换日期类型. public string rqcl(string rqz) { CultureInfo ci = new CultureInfo("de-DE");

在自定义字段类型的CAML中使用JQuery

本文将通过两种方式实现SharePoint 2007中自定义字段的CAML调用 jQuery AJAX.分别是: 1.传统的编写代码的方式,配合FLDTYPES_你的字段类型.xml,生成自定义字段类型. 2.使用jianyi的 SPCAMLEditor工具,直接修改某列表的字段的CAML. 前者可重用性高, 而后者简单快速,大家可以根据自己的情况进行选择. 我们知道,在字段的架构CAML中可以编写客户端代码,如HTML标记,CSS和Javascript代码.得益于jQuery AJAX的强大,