Spring:日期绑定格式为dd / MM / yyyy,即31/12/1999

时间:2016-06-20 07:52:03

标签: java spring spring-mvc servlets

你可能会发现这是一个重复的问题,但我仍然没有得到以下代码的错误。

我在几个网站和Spring文档中找到的代码,代码中有任何类型的代码?

我希望文件(.ser)中的持久对象包含多个“日期”字段,并在我的jsp中再次显示详细信息,

对我来说,形成的是dd / MM / yyyy,即1999年12月31日。

在保存在我的控制器之前以“Wed Jun 01 00:00:00 IST 2016”的格式显示。 我使用了CustomDateEditor,如下所示:

SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
dateFormat.setLenient(false);
webDataBinder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));

在上面的代码我用了两个参数来registerCustomEditor(),这样可以吗? 或如何为多个领域做,

webDataBinder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));

我是否必须为每个字段使用上面的代码行。

我也尝试过这个,但没有成功

    webDataBinder.registerCustomEditor(Date.class, new PropertyEditorSupport(){
        @Override
        public void setAsText(String text) throws IllegalArgumentException {
            System.out.println(text+"  setAsText");
            try {
                if( text != "")
                    //setValue(text);
                    setValue(new SimpleDateFormat("dd/MM/yyyy").parse(value));
            } catch (Exception e) {
                 setValue(null);
            }
        }

        @Override
        public String getAsText() {
            System.out.println(getValue()+" getValue");
            return new SimpleDateFormat("dd/mm/yyyy").format((Date)getValue());
        }
    });

在我的JSP中,我使用日期选择器:

    $('#id-scheme-start-date').datepicker({
        dateFormat: 'dd/mm/yy',
    });

我还有另一种选择在JSP中使用JSTL标记,但我不想在多个位置使用它。

0 个答案:

没有答案