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

问题描述:<%@ 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达到目的

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 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">

    <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>UTF-8</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>UTF-8</page-encoding>
            <scripting-invalid>false</scripting-invalid>
            <include-prelude></include-prelude>
            <include-coda></include-coda>
        </jsp-property-group>
    </jsp-config>

</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> 

阅读全文...

你可能感兴趣的:(tomcat,jsp,Web,xml,sun)