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"%>
   能夠解決。
html

2.當jsp include靜態文件時(html文件)能夠在被include的html文件的<head></head>標籤內加上代碼:
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   一樣能夠解決。
java

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> 中。 web

此時能夠修改tomcat的web.xml達到目的 tomcat

 
  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的。 app

附帶說明: jsp

<jsp-config> 元素主要用來設定JSP 相關配置 ui

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

自定義的tag也須要放在<jsp-config>中間 spa

  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> 
相關文章
相關標籤/搜索