jcjkobe123 2015-08-28 10:06 采纳率: 0%
浏览 1505
已结题

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 + "]";
    }


}

  • 写回答

2条回答 默认 最新

  • 漠__然 2015-08-28 13:19
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算