使用MappingJackson2HttpMessageConverter
问题描述:
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
答
您可以配置在配置文件中配置信息转换器的一些变化:
@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()));
}
}
如何是禅师与此有关?日期如何被网页打印?你用什么来生成HTML? –
@JBNizet,不确定如果你能看到我的答案。我的意思是,如你所知,Spring MVC使用消息转换器来处理HttpInputMessage和HttpOutputMessage,因此MappingJackson2HttpMessageConverter是转换器之一。我想要的是,当Spring MVC出现在Web上时,它已经进入了字符串,并且具有我自定义的日期格式。 –
@JBNizet,我使用Thymeleaf,我知道它可以使用Thymeleaf的内部函数,但我不想要 –