spring4 注解 添加ContentNegotiatingViewResolver
来源:互联网 发布:sql语句高级教程 编辑:程序博客网 时间:2024/06/05 16:47
创建 ContentNegotiatingViewResolver
package spittr.config;import java.nio.charset.Charset;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.FilterType;import org.springframework.http.MediaType;import org.springframework.http.converter.HttpMessageConverter;import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;import org.springframework.stereotype.Controller;import org.springframework.web.accept.ContentNegotiationManager;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.servlet.View;import org.springframework.web.servlet.ViewResolver;import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer;import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;import org.springframework.web.servlet.config.annotation.EnableWebMvc;import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;import org.springframework.web.servlet.view.BeanNameViewResolver;import org.springframework.web.servlet.view.ContentNegotiatingViewResolver;import org.springframework.web.servlet.view.InternalResourceViewResolver;import org.springframework.web.servlet.view.json.MappingJackson2JsonView;/** * web的控制config * * @ClassName WebConfig * @Description TODO * @author dong.tl * @date 2017年4月15日 下午2:00:13 * */@Configuration@EnableWebMvc@ComponentScan(basePackages = "spittr.web", useDefaultFilters = false, includeFilters = { @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Controller.class), @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = ControllerAdvice.class)})public class WebConfig extends WebMvcConfigurerAdapter { @Bean public ViewResolver viewResolver() { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("/WEB-INF/view/"); resolver.setSuffix(".jsp"); resolver.setExposeContextBeansAsAttributes(true); return resolver; } @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } /** * */ @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { converters.add(mappingJackson2HttpMessageConverter()); super.configureMessageConverters(converters); } /** * json信息转换器 * @author dong.tl * @date 2017年4月28日 下午3:29:04 * @return */ @Bean public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter(){ // 主要针对 IE返回json为下载的问题 List<MediaType> jsonSupportedMediaTypes = new ArrayList<MediaType>(); jsonSupportedMediaTypes.add(MediaType.TEXT_PLAIN); // 定义json解析器的返回类型 MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter(); mappingJackson2HttpMessageConverter.setDefaultCharset(Charset.forName("utf-8")); mappingJackson2HttpMessageConverter.setSupportedMediaTypes(jsonSupportedMediaTypes); return mappingJackson2HttpMessageConverter; } /** * 声明ContentNegotiatingViewResolver * @author dong.tl * @date 2017年4月28日 下午3:35:09 * @param cnm * @return */ @Bean public ViewResolver cnViewResolver(ContentNegotiationManager cnm) { ContentNegotiatingViewResolver cnvr = new ContentNegotiatingViewResolver(); cnvr.setContentNegotiationManager(cnm); return cnvr; } @Override public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {// configurer.ignoreAcceptHeader(true); configurer.defaultContentType(MediaType.TEXT_HTML); Map<String, MediaType> mediaTypes = new HashMap<String, MediaType>(); mediaTypes.put("json", MediaType.TEXT_PLAIN); mediaTypes.put("htm", MediaType.TEXT_HTML); configurer.mediaTypes(mediaTypes ); } /** * 以bean的形式查找视图 * @author dong.tl * @date 2017年4月28日 下午3:29:42 * @return */ @Bean public ViewResolver beanNameViewResolver() { return new BeanNameViewResolver(); } /** * 将"json" 定义为JSON的视图 * @author dong.tl * @date 2017年4月28日 下午3:30:57 * @return */ @Bean public View json() { MappingJackson2JsonView mappingJackson2JsonView = new MappingJackson2JsonView(); mappingJackson2JsonView.setContentType(MediaType.TEXT_PLAIN_VALUE); return mappingJackson2JsonView; }}
0 0
- spring4 注解 添加ContentNegotiatingViewResolver
- spring4.x注解概述
- spring4.x注解概述
- spring4.x注解概述
- spring4.x注解详述
- Spring4.1.6 常用注解
- spring4.x注解概述
- spring4.x注解概述
- Spring4 条件注解@Conditional
- spring4.x注解概述
- spring4.x注解
- Spring4.1.6 常用注解
- Spring4.1.6常用注解
- spring4.x注解概述
- spring4.X注解总结
- spring4.x注解概述
- Spring4 注解高级应用
- spring4.2 MVC注解备忘
- Codeforces 271D Good Substrings 暴力+Trie
- Android的postOnAnimation分析
- 防止回车键提交表单及键盘字母的code值
- mysql触发器
- 南阳oj 32 组合数
- spring4 注解 添加ContentNegotiatingViewResolver
- 怎么将两个表中树,拼成一个树(并创造一个顶级节点)还可以正常保存,下次修改的时候值还要正常的带出来?
- ffmpeg 3.2版本播放ts流正常,但是录制成为MP4的文件播放黑屏
- Scala for循环
- App Store 审核指南
- 全面解析Notification
- 计算机是如何执行程序的
- hibernate事务处理
- Ubuntu下跑通py-faster-rcnn、详解demo运作流程