解决tomcat5中include页面乱码问题的方法
解决tomcat5中include页面乱码问题的方法
在jsp中,包含其他页面的格式如下:<%@include file="文件名"%>
例如:
<%@include file="header.jsp"%>
在jsp中,指定页面编码方式的格式为:
<%@page language="java" contentType="<编码方式>" %>
例如:
<%@page language="java" contentType="text/html; charset=GBK" %>
<%@page contentType="text/html; charset=gb2312"%>
在tomcat 4中,被include的页面文件中不需要也不能指定页面编码方式。但在tomcat 5.0.x中,被include的文件需要指定编码方式,否则可能出现乱码。
即:主页面文件和被包含页面文件中,都需要加入:
<%@page language="java" contentType="text/html; charset=GB2312" %>
这样的页面,使用Jbuilder 7编译是不能通过的。
为了让tomcat 5.0.x能象tomcat 4那样处理include页面,保证JBuidler的正常编译,需要修改项目WEB-INFO/web.xml文件,进行如下配置把默认的字符集设置成GBK或GB2312就可以了,代码如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<jsp-config>
<jsp-property-group>
<description>Special property group for JSP Configuration JSP example.</description>
<display-name>JSPConfiguration</display-name>
<url-pattern>*.jsp</url-pattern>
<el-ignored>true</el-ignored>
<page-encoding>GBK</page-encoding>
<scripting-invalid>false</scripting-invalid>
<include-prelude></include-prelude>
<include-coda></include-coda>
<description>Special property group for JSP Configuration JSP example.</description>
<display-name>JSPConfiguration</display-name>
<url-pattern>*.html</url-pattern>
<el-ignored>true</el-ignored>
<page-encoding>GBK</page-encoding>
<scripting-invalid>false</scripting-invalid>
<include-prelude></include-prelude>
<include-coda></include-coda>
</jsp-property-group>
</jsp-config>
...
<!--其他配置,例如:servlet配置等-->
</web-app>