JSP include HTML出现乱码 问题解决

时间:2022-07-31 19:05:19

Problem?

当使用<jsp:include page="top.html"></jsp:include>引入html文件时,

并且jsp 和 html的 编码都为utf-8;但是会出现乱码,

就是在使用<jsp:include 的时候 会自动给html 一个编码 

而这个编码是系统默认的GBK 所以在这个时候和自己的编码发生冲突 就会出现乱码,

 

我们来了解下 web.xml中jsp-config的配置详解

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

其中<taglib> 元素在JSP 1.2 时就已经存在;

<jsp-property-group> 是JSP 2.0 新增的元素。

<jsp-property-group> 元素主要有八个子元素,它们分别为:


1.<description>:设定的说明
2.<display-name>:设定名称
3.<url-pattern>:设定值所影响的范围,如:/CH2 或 /*.jsp
4.<el-ignored>:若为true,表示不支持EL 语法
5.<scripting-invalid>:若为true,表示不支持<% scripting %>语法
6.<page-encoding>:设定JSP 网页的编码
7.<include-prelude>:设置JSP 网页的抬头,扩展名为.jspf
8.<include-coda>:设置JSP 网页的结尾,扩展名为.jspf

 

Answer:

解决问题的方法在web.xml中添加以下代码:

<jsp-config>   
<jsp-property-group>
<description>
Special property group for JSP Configuration HTML
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>