使用Spring MVC框架进行前台页面跳转时,跳转到的新页面中文显示乱码的问题解决

使用Spring MVC框架进行前台页面跳转时,跳转到的新页面中文显示乱码的问题解决

  摘要:我昨天花了一天时间学习了SSM项目搭建,却在最终的编码问题上拉胯了,在使用Spring MVC框架进行前台页面的跳转时,跳转到的新页面的中文会显示乱码,我试了很多方法解决都没有解决,今天我终于解决了

  关于跳转乱码的问题困扰了我许久,我尝试了很多种办法,如:

image-20220430094707457

<!--在web.xml中配置Spring提供的过滤器类 -->
  <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <async-supported>true</async-supported>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>utf-8</param-value>
    </init-param>
  </filter>

  <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  在xml中的过滤器中配置编码。

  又如:

image-20220430094823446

<mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>text/html;charset=utf-8</value>
                        <value>application/json;charset=utf-8</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

  在spring配置文件中添加编码解析。

  除此之外我还尝试了各种各样的方法,比如修改html页面的编码,修改浏览器的解析格式,设置强制编码等(网上都能搜出来),但是都没有解决问题,终于我找到这样一篇博客:(25条消息) springmvc html跳转乱码问题_Deng2012web的博客-CSDN博客,尽管他的配置文件和我的不尽相同,但是却给了我灵感,我考虑页面跳转问题时考虑的点在于controller层和视图层,而忽略了中间的配置文件部分,也就是视图解析器部分:

image-20220430095415356

  页面的跳转,视图的解析都是通过这些配置信息完成的,那么我应该在templateResover中添加一个编码设定选项,这里是格式解析部分,我想既然是格式解析,那么一定也会对整体文件的编码格式影响,那么我可能有必要在这里也书写一个编码设定,图中我已经写上了:<property name="characterEncoding" value="utf-8"></property>,结果写上之后,直接给成了:

image-20220430095741043

  真的是太感动了!

posted @ 2022-04-30 10:00  云杉木屋  阅读(173)  评论(0编辑  收藏  举报