我的模型定义如下:
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...
来实现同样的目标,但这不是我喜欢的方式,因为我必须在任何地方添加<fmt:formatDate...
来打印{{1} } object或Date
object。
我只是想知道如何使用sping的TM
?
答案 0 :(得分:0)
您可以使用JSTL:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
...
<fmt:formatDate value="${obj.date}" pattern="yyyy-MM-dd HH:mm:ss" />
答案 1 :(得分:0)
把这个:
<mvc:annotation-driven/>
到dispatcher-servlet.xml。
把这个开头的xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:device="http://www.springframework.org/schema/mobile/device"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mobile/device http://www.springframework.org/schema/mobile/device/spring-mobile-device-1.0.xsd">
答案 2 :(得分:0)
在这里你GO:
您可以使用SimpleDateFormat格式化日期。检查ou JavaDocs,只是一些示例。
**String oldstring = "2011-01-18 00:00:00.0";
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse(oldstring);**
String newstring = new SimpleDateFormat("yyyy-MM-dd").format(date);
System.out.println(newstring); // 2011-01-18