springmvc+thymeleaf工程,打开html中文显示问号

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xing930408/article/details/88077092

springmvc+thyemleaf工程,打开html中文显示问号,解决思路如下

1.首先查看html,是否在head标签中添加了<meta charset="utf-8">

2.查看过滤器是否添加了encodingFilter

<filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
</filter>

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

 3.发现以上两步都没有问题,忽然想到是不是thymeleaf框架需要设置解码,于是百度

参考https://blog.csdn.net/y0_618/article/details/78512881这篇博客

<!-- 使用thymeleaf解析 -->
    <bean id="templateResolver" class="org.thymeleaf.spring3.templateresolver.SpringResourceTemplateResolver">
        <property name="prefix" value="/templates/" />
        <property name="suffix" value=".html" />
        <property name="templateMode" value="HTML" />
        <property name="cacheable" value="false" />
        <property name="characterEncoding" value="UTF-8" />
    </bean>

    <bean id="templateEngine" class="org.thymeleaf.spring3.SpringTemplateEngine">
        <property name="templateResolver" ref="templateResolver" />
    </bean>

    <bean id="thymeleafViewResolver" class="org.thymeleaf.spring3.view.ThymeleafViewResolver">
        <property name="templateEngine" ref="templateEngine" />
        <property name="characterEncoding" value="UTF-8" />
    </bean>

在配置templateResolver和thymeleafViewResolver两个bean的时候设置<property name="characterEncoding" value="UTF-8" />

猜你喜欢

转载自blog.csdn.net/xing930408/article/details/88077092