zoukankan      html  css  js  c++  java
  • jsp include包含html页面产生的乱码问题

    大家都知道在jsp中include的有两种方式,一种是<jsp:include page="">,另一种是<%@ include file=""%>

    在jsp中包含一个静态文件(.html)会产生乱码问题,此时有两种解决方案:

    方法一:

    可以在每一个html文件中第一行添加<%@ page contentType="text/html;charset=UTF-8" language="java" %>

    并用<%@ include file=""%>方式包含,如果你用的是<jsp:include page="">,则不仅会出现乱码,还会出现<%@ page contentType="text/html;charset=UTF-8" language="java" %>这一句代码。

    方法二:

    jsp-config方式解决问题,在项目的web.xml中加入如下配置。

    <jsp-config>
            <jsp-property-group>
                <description>jsp encoding example</description>
                <display-name>JSPConfiguration</display-name>
                <url-pattern>*.jsp</url-pattern>
                <el-ignored>false</el-ignored>
                <page-encoding>UTF-8</page-encoding>
                <scripting-invalid>false</scripting-invalid>
            </jsp-property-group>
    
            <jsp-property-group>
                <display-name>JSPConfiguration</display-name>
                <url-pattern>*.html</url-pattern>
                <el-ignored>true</el-ignored>
                <page-encoding>UTF-8</page-encoding>
                <scripting-invalid>true</scripting-invalid>
            </jsp-property-group>
        </jsp-config>
    其中el-ignored:是否忽视EL表达式,scripting-invalid:是否让<%%>脚本无效

    这个方法有个缺点,就是如果你这样在xml中配置了该段代码,那么每一个html都会被服务器当成jsp运行,也就是说在html中可以使用<c:if></c:if>、<jsp:include>等jsp标签。(至少我测试是这样的,如有不正确,请您斧正!)

  • 相关阅读:
    【梦断代码】与我们队的相似之处
    梦断代码 之 你失败过吗
    梦断代码 之 程序人生
    C#中父类转换为子类
    C#中Dictionary泛型集合7种常见的用法
    Linux 常见命令 目录处理指令
    使用XSLT+XML生成网页
    我心目中的Asp.net核心对象
    配色速成
    VS.NET中JavaScript隐藏特性
  • 原文地址:https://www.cnblogs.com/wuyou/p/3379347.html
Copyright © 2011-2022 走看看