首页 > java > jsp中include乱码的三种解决方案

jsp中include乱码的三种解决方案

2009年9月28日 发表评论 阅读评论

问题描述:<%@ include file="/footer.html" %> 的中文乱码问题

第一种情况可以修改被include的文件:
1.当jsp include动态文件时(jsp文件)可以在被include的jsp文件头部加上代码:
   <%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
   可以解决。

2.当jsp include静态文件时(html文件)可以在被include的html文件的<head></head>标签内加上代码:
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   同样可以解决。

3.最简单的方法,在 Tomcat 5.0.x 中,Tomcat 支持了 JSP 2.0 的规格,同时也支持了部分 J2EE 1.4 的规格,在 J2EE 1.4 的规格中,有关 JSP 的部份,有一个 <jsp-config> 的 XML Tag,这个 XML 区块用来定义与 JSP 相关的特殊属性,包含采用的 taglib 与 以下说明的 <jsp-property-group> ,而解决 include 档中文问题的方法就定义在 <jsp-roperty-group> 中。

此时可以修改tomcat的web.xml达到目的

 
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
  5.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  6.     <jsp-config>
  7.         <jsp-property-group>
  8.             <description>
  9.                 Special property group for JSP Configuration JSP
  10.                 example.
  11.             </description>
  12.             <display-name>JSPConfiguration</display-name>
  13.             <url-pattern>*.jsp</url-pattern>
  14.             <el-ignored>true</el-ignored>
  15.             <page-encoding>UTF-8</page-encoding>
  16.             <scripting-invalid>false</scripting-invalid>
  17.             <include-prelude></include-prelude>
  18.             <include-coda></include-coda>
  19.             <description>
  20.                 Special property group for JSP Configuration JSP
  21.                 example.
  22.             </description>
  23.             <display-name>JSPConfiguration</display-name>
  24.             <url-pattern>*.html</url-pattern>
  25.             <el-ignored>true</el-ignored>
  26.             <page-encoding>UTF-8</page-encoding>
  27.             <scripting-invalid>false</scripting-invalid>
  28.             <include-prelude></include-prelude>
  29.             <include-coda></include-coda>
  30.         </jsp-property-group>
  31.     </jsp-config>
  32. </web-app>

其中jsp-config一段是用来说明你要将包含的页面默认按照什么编码格式包含。web-app 标签的version必须是2.4的。

附带说明:

<jsp-config> 元素主要用来设定JSP 相关配置

<jsp-config> 包括<taglib> 和<jsp-property-group> 两个子元素。

<taglib>元素在JSP 1.2 时就已经存在;
<jsp-property-group>是JSP 2.0 新增的元素:
<jsp-property-group>元素主要有八个子元素,它们分别为:
<description>:设定的说明;
<display-name>:设定名称;
<url-pattern>:设定值所影响的范围,如: /*.jsp;
<el-ignored>:若为true,表示不支持EL 语法;
<scripting-invalid>:若为true,表示不支持<% scripting %>语法;
<page-encoding>:设定JSP 网页的编码;
<include-prelude>:设置JSP 网页的抬头,扩展名为.jsp
<include-coda>:设置JSP 网页的结尾,扩展名为.jsp

自定义的tag也需要放在<jsp-config>中间

  1. <jsp-config>     
  2.   <taglib>     
  3.     <taglib-uri>Taglib</taglib-uri>     
  4.     <taglib-location>/WEB-INF/tlds/MyTaglib.tld</taglib-location>     
  5.   </taglib>
  6. </jsp-config> 

分类: java 标签: , 13,569 次阅读
原文链接:http://www.wenhq.com/article/view_376.html
欢迎转载,请注明出处:亲亲宝宝
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.