2017-09-01 5 views
0

ich ein Datum DTO haben:Spring MVC Datumsformat Ausgabe mit MappingJackson2HttpMessageConverter

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

In Spring MVC, ich habe es in ModelAttribute machen und gesendet:

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

jedoch in Web-Seite, es zeigt, in folgenden Datumsformat:

Do 31. August 2017 00:00:00 CEST

Wer weiß, wie man das Datumsformat ändert?

PS: Keine Änderung im Front-End, keine Verwendung JSTL, keine Verwendung Tag. Ich möchte nur einige Veränderungen in MappingJackson2HttpMessageConverter

+0

Wie ist Jackson hier relevant? Wie wird das Datum von der Webseite gedruckt? Was verwenden Sie, um den HTML-Code zu generieren? –

+0

@ JBNizet, nicht sicher, ob Sie meine Antwort sehen könnten. Was ich meine, ist, wie Sie wissen, Spring MVC Message Converter zu Handler HttpInputMessage und HttpOutputMessage, so MappingJackson2HttpMessageConverter ist einer der Konverter. Was ich will ist, wenn Spring MVC ins Web gestellt wird, schon in String, mit Datumsformat das ich anpassen kann. –

+0

@ JBNizet, ich benutze Thymeleaf, ich weiß, es könnte Thymeleaf interne Funktion verwenden, aber ich will nicht –

Antwort

0

Sie Config-Wandler configure Nachricht in der Konfigurationsdatei kann machen:

@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())); 
    } 
} 
Verwandte Themen