package com.moral.config; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; import com.moral.common.convert.StringToDateConverter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.convert.support.GenericConversionService; import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.StringHttpMessageConverter; import org.springframework.web.bind.support.ConfigurableWebBindingInitializer; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.config.annotation.*; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter; import org.springframework.web.servlet.view.InternalResourceViewResolver; import javax.annotation.PostConstruct; import java.util.ArrayList; import java.util.List; @Configuration @EnableWebMvc public class MvcConfiguration extends WebMvcConfigurerAdapter{ @Bean public ViewResolver getViewResolver() { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("/view/"); resolver.setSuffix(".jsp"); return resolver; } @Override public void configureDefaultServletHandling( DefaultServletHandlerConfigurer configurer) { configurer.enable(); } @Autowired private RequestMappingHandlerAdapter handlerAdapter; /** * 增加字符串转日期的功能 */ @PostConstruct public void initEditableValidation() { ConfigurableWebBindingInitializer initializer = (ConfigurableWebBindingInitializer) handlerAdapter .getWebBindingInitializer(); if (initializer.getConversionService() != null) { GenericConversionService genericConversionService = (GenericConversionService) initializer .getConversionService(); genericConversionService.addConverter(new StringToDateConverter()); } } // @Override // public void configureMessageConverters(List> converters) { // //converters.clear(); // converters.add(new StringHttpMessageConverter()); // converters.add(new FastJsonHttpMessageConverter()); // } // @Override // public void extendMessageConverters(List> converters) { // //converters.add(new StringHttpMessageConverter()); // // FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); // List supportedMediaTypes = new ArrayList<>(); // supportedMediaTypes.add(MediaType.APPLICATION_JSON); // supportedMediaTypes.add(MediaType.APPLICATION_JSON_UTF8); // supportedMediaTypes.add(MediaType.APPLICATION_FORM_URLENCODED); // fastConverter.setSupportedMediaTypes(supportedMediaTypes); // converters.add(fastConverter); // } }