【问题标题】:JSP and tag files UTF-8 encodingJSP 和标记文件 UTF-8 编码
【发布时间】:2011-03-27 05:59:53
【问题描述】:

我正在使用 Spring 3.0.3 + sitemesh + JSP,但结果页面的编码遇到问题。

我已经使用 Spring 的 CharacterEncodingFilter 来使用 UTF-8 对响应和请求进行编码,我在 JSTLViewResolver 中已经说明了适当的 contentType。我还以 UTF-8 格式保存了我的 jsp 和标签。

我真正想要避免的是在每个 jsp 和标记文件指令中使用 pageEncoding 声明

<%@ tag pageEncoding='UTF' %>

有没有办法避免这种情况?

谢谢

【问题讨论】:

    标签: jsp utf-8 jsp-tags


    【解决方案1】:

    简短的回答,不。对于 jsps,您可以将页面声明放在一个文件中,比如 includes.inc,然后将该文件包含在所有 jsps 中:

    <%@ include file="includes.inc"%>
    

    理论上应该可行,并且它适用于您放在那里的其他内容,但似乎如果在包含的文件中指定字符集,Tomcat 不会得到它(默认为 ISO-8859-1)。如果此技术适用于您的特定服务器安装,请使用它。

    【讨论】:

      【解决方案2】:

      在我的 web.xml 中声明:

        <jsp-config>
          <jsp-property-group>
            <url-pattern>*.jsp</url-pattern>
            <page-encoding>UTF-8</page-encoding>
          </jsp-property-group>
        </jsp-config>
      

      它似乎对我有用,但对于 .tag 它不起作用:(

      【讨论】:

        【解决方案3】:

        使用&lt;%@tag pageEncoding="UTF-8" %&gt; 在标签文件的顶部

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-06-08
          • 1970-01-01
          • 2013-02-02
          • 1970-01-01
          • 2011-03-16
          • 1970-01-01
          • 2011-11-02
          • 2012-07-15
          相关资源
          最近更新 更多