1、问题

在使用SpringMVC3时,需要对response到页面的数据进行编码设置则需要自定义注解数据格式化类来对页面传过来的字符串进行格式化。

编码设置:

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >  <property name="messageConverters">  <list>  <bean class = "org.springframework.http.converter.StringHttpMessageConverter">  <property name = "supportedMediaTypes">  <list>  <value>text/plain;charset=UTF-8</value>  </list>  </property>  </bean>  </list>  </property>  </bean> 

Formatter设置:

<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">  <property name="formatters">  <list>  <bean class="com.grgbanking.it.common.formatter.TimestampFormatAnnotationFormatterFactory"/>  </list>  </property>  </bean> <mvc:annotation-driven conversion-service="conversionService"/>

当两者按上面的设置好后,StringHttpMessageConverter不起作用了。

2、原因

<mvc:annotation-driven />的配置如下:

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"><property name="order" value="1" /></bean><bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"><property name="webBindingInitializer"><bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer"><property name="conversionService" ref="conversionService" /><property name="validator" ref="validator" /></bean></property></bean><bean id="conversionService" class="org.springframework.samples.petclinic.util.PetclinicConversionServiceFactory" /><bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" /> 

从上面的配置信息来看,<mvc:annotation-driven />相当于注册了DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个bean。

所以我们在上面配置的AnnotationMethodHandlerAdapter在<mvc:annotation-driven />后是不起作用的。<mvc:annotation-driven />包括了一个默认的AnnotationMethodHandlerAdapter功能。

3、解决

把StringHttpMessageConverter配置在<mvc:annotation-driven />里面。
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">  <property name="formatters">  <list>  <bean class="com.grgbanking.it.common.formatter.TimestampFormatAnnotationFormatterFactory"/>  </list>  </property>  </bean> <!-- 设置转换器 --><mvc:annotation-driven conversion-service="conversionService"><mvc:message-converters>  <bean class = "org.springframework.http.converter.StringHttpMessageConverter">  <property name = "supportedMediaTypes">  <list>  <value>text/plain;charset=UTF-8</value>  </list>  </property>  </bean>  </mvc:message-converters></mvc:annotation-driven>

注:上面方法只适用于SpringMVC 3.1.x以上版本。

SpringMVC3 AnnotationMethodHandlerAdapter与mvc:annotation-driven冲突的解决方案相关推荐

  1. mac下使用git的冲突的解决方案

    mac下使用git的冲突的解决方案 参考文章: (1)mac下使用git的冲突的解决方案 (2)https://www.cnblogs.com/codegeekgao/p/8301757.html 备 ...

  2. php中并发读写文件冲突的解决方案(文件锁应用示例)

    php中并发读写文件冲突的解决方案(文件锁应用示例) 参考文章: (1)php中并发读写文件冲突的解决方案(文件锁应用示例) (2)https://www.cnblogs.com/wellsoho/p ...

  3. gitlab自带的Nginx与原Nginx冲突的解决方案

    gitlab自带的Nginx与原Nginx冲突的解决方案 参考文章: (1)gitlab自带的Nginx与原Nginx冲突的解决方案 (2)https://www.cnblogs.com/lz0925 ...

  4. Eclipse SVN冲突详细解决方案

    Eclipse SVN冲突详细解决方案 参考文章: (1)Eclipse SVN冲突详细解决方案 (2)https://www.cnblogs.com/jpfss/p/9007981.html 备忘一 ...

  5. asp.net core mvc上传大文件解决方案

    asp.net core mvc上传大文件解决方案 参考文章: (1)asp.net core mvc上传大文件解决方案 (2)https://www.cnblogs.com/eggtwo/p/988 ...

  6. TextBoxWatermarkExtender扩展器与RequiredFieldValidator控件相冲突的解决方案

    TextBoxWatermarkExtender扩展器与RequiredFieldValidator控件相冲突的解决方案 TextBoxWatermarkExtender扩展器与RequiredFie ...

  7. css3 动画与display:none冲突的解决方案

    css3 动画与display:none冲突的解决方案 参考文章: (1)css3 动画与display:none冲突的解决方案 (2)https://www.cnblogs.com/yangzhou ...

  8. 包无法更新、相关性或冲突验证解决方案

    包无法更新.相关性或冲突验证解决方案 背景 解决办法 总结: 背景 前段时间刚装了win11,最近打开图片的时候会有以下图片的提示框. 解决办法 以下是解决办法的步骤,希望能帮助到大家: 打开设置 : ...

  9. office2003和2007共存不冲突的解决方案

    office2003和2007共存不冲突的解决方案 http://blog.163.com/zqg_zy/blog/static/3741221020081198516959/ 电脑技术 2008-1 ...

最新文章

  1. 【译】Asp.net MVC 利用自定义RouteHandler来防止图片盗链 (转)
  2. linux下创建具有root权限的账户
  3. Bruce Eckel最新演讲:调bug就是浪费生命!放弃吧!(附完整PPT)
  4. 干货 · UI设计|APP引导页面可临摹素材
  5. 云南计算机专升本数据结构_云南计算机专升本分数大全(公布分数线431分)
  6. sql server 分区_SQL Server:锁定设置以用于增强分区功能
  7. 《Java并发编程实战》 第二章:线程安全性
  8. java定时器的原理_JAVA Timer 定时器原理 | 学步园
  9. 临床数据库挖掘系列2-使用SEER.stat软件提取数据
  10. PFC的使用与探索(一)
  11. 《轩辕剑4》最新秘籍
  12. 电商女装评论数据集分析
  13. eclipse怎么把图片打开
  14. 服务器w7系统,w7系统的云服务器
  15. 系统备用服务器连接配置异常,网络配置的DNS服务老是异常网络连接老是异常...._网络编辑_帮考网...
  16. 0927-1这张图可得记一辈子了
  17. 修改字段类型 Alter table 表名 modify 字段名 字段类型mysql数据库概念及入门语句...
  18. thinkphp3.2 实现 Phpmailer 发送邮件 配置
  19. 【解析几何】解析几何(Analytic geometry)
  20. BIOS介绍及其设置

热门文章

  1. html页面乱码问题
  2. Exchange 2010 OWA更改过期密码
  3. C++ 中的Virtual Function (虚函数)
  4. Android 自定义UI--指南针
  5. cocos2dx游戏开发简单入门视频教程 (cocos2d-x)-第2天
  6. spring框架总结
  7. Oracle · 一些实用语法
  8. screenX,clientX,pageX,offsetX,的区别
  9. 那一天,那一月,那一年,那一世,那一瞬
  10. 大数据之Oozie——源码分析(一)程序入口