【发布时间】:2015-03-12 14:39:48
【问题描述】:
我有一个模型定义如下:
public class TM
{
@DateTimeFormat(pattern = "yyyy.MM.dd HH:mm:ss")
Date date;
public Date getDate()
{
return date;
}
public void setDate(Date date)
{
this.date = date;
}
}
我有一个控制器定义如下:
@RequestMapping(value = "test")
public ModelAndView func(ModelAndView mav)
{
TM tm = new TM();
tm.setDate(new Date());
mav.addObject("obj", tm);
mav.setViewName("test/view.jsp");
return mav;
}
文件view.jsp:
${obj.date}
它输出Wed Jan 14 20:00:46 CST 2015,而不是我期望的“yyyy.MM.dd HH:mm:ss”格式
SpringMVC 的注解 @DateTimeFormat 对我不起作用。
我知道我可以在 jsp 页面中使用 <fmt:formatDate... 来实现相同的目的,但这不是我喜欢的方式,因为我必须在必须打印 Date 对象或 TM 的任何地方添加 <fmt:formatDate...对象。
我只是想知道如何使用 sping 的@DateTimeFormat 来实现这一点?
【问题讨论】:
-
先使用JodaDate,Date会好很多。在那里,您可以设置所需的精度级别和格式。如果你愿意,我可以为你创建一个答案,但你可以用简单的谷歌找到它
-
@WeareBorg 是否可以使用 Java 内置的 Date 类?
-
我已经创建了一个答案,检查一下,如果有任何疑问,请在 cmets 中告诉我。
-
它确实有效,但只有当你正确使用它时,你才没有正确使用它。日期格式仅在您将其与弹簧表单标签一起使用时才有效。你只是用EL来打印字段的值,基本上就是
Date.toString()。
标签: java spring jsp servlets model-view-controller