2017-09-01 35 views
0

Spring MVC的日期格式輸出我有個約會DTO:使用MappingJackson2HttpMessageConverter

public class SampleDTO{ 
    Date date; 
    //setter, getter, constructor 
} 

在Spring MVC,我做它的ModelAttribute並派:

@ModelAttribute("sample") 
public SampleDTO getSample() { 
    return new SampleDTO(new Date()); 
} 

然而,在網頁,它顯示在下面的日期格式:

週四年08月31日00:00:00 CEST 2017年

任何人都知道如何更改日期格式?

PS:前端沒有任何變化,沒有使用JSTL,沒有使用標籤。 我只是想在MappingJackson2HttpMessageConverter

+0

如何是禪師與此有關?日期如何被網頁打印?你用什麼來生成HTML? –

+0

@JBNizet,不確定如果你能看到我的答案。我的意思是,如你所知,Spring MVC使用消息轉換器來處理HttpInputMessage和HttpOutputMessage,因此MappingJackson2HttpMessageConverter是轉換器之一。我想要的是,當Spring MVC出現在Web上時,它已經進入了字符串,並且具有我自定義的日期格式。 –

+0

@JBNizet,我使用Thymeleaf,我知道它可以使用Thymeleaf的內部函數,但我不想要 –

回答

0

您可以配置在配置文件中配置信息轉換器的一些變化:

@Configuration 
@EnableWebMvc 
public class WebConfiguration extends WebMvcConfigurerAdapter { 

    @Override 
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { 
     Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder(); 
     builder.indentOutput(true).dateFormat(new SimpleDateFormat("yyyy-MM-dd")); 
     converters.add(new MappingJackson2HttpMessageConverter(builder.build())); 
     converters.add(new MappingJackson2XmlHttpMessageConverter(builder.createXmlMapper(true).build())); 
    } 
}