JSP和标记文件UTF-8编码

时间:2010-08-09 11:18:21

标签: jsp utf-8 jsp-tags

我正在使用Spring 3.0.3 + sitemesh + JSP,我遇到了结果页编码的麻烦。

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

我真正想要避免的是使用pageEncoding来说明每个jsp和tag文件指令

<%@ tag pageEncoding='UTF' %>

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

由于

3 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

在我的web.xml中声明:

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

它似乎对我有用,但对于.tag它没有用:(

答案 2 :(得分:0)

使用<%@tag pageEncoding="UTF-8" %> 在标记文件的顶部