footer.html中中文乱码的解决

为了网站的风格统一,于是就把网站的header和footer给独立出来了,其他的页面的头和脚都来引用它就行了,但是实际上这样做的时候,因为footer我们经常喜欢使用的是html的格式,这样的话,我们就会经常的出现乱码,有的时候还不好解决,你就算是把html重新的使用utf-8的格式保存了一遍还是没有用的,再去访问还是乱码。

问题:jsp里面动态引用footer.html文件html 文件里的中文乱码

检查:
footer.jsp文件的编码方式都指定了,设置编码的有两个:pageEncoding和contentType均一致
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
footer.html文件也指定了编码方式:

<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
<title></title>  
</head>  
<body>  
我是某某某公司版权所有
</body>  
</html>  
image.png

解决办法:
a. 在footer.html的文件最上方加上<%@page pageEncoding="UTF-8"%> ,尽管html不能识别该指令,但通过jsp文件里的include指令引入时该指令就能起作用了 :

<%@page pageEncoding="UTF-8"%>  
<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
<title></title>  
</head>  
<body>  
我是某某某公司版权所有
</body>  
</html>  

b.把footer.jsp文件里的动态引用<jsp:include page="footer.html" >,改成静态引用<%@ include file="footer.html"%>。这一步可有可无,具体看项目是否不再乱码。记得要清理缓存再查看运行结果。

知识点补充:
JSP中有两种包含:
静态包含:<%@ include file="被包含页面"%>
动态包含:<jsp:include page="被包含页面" flush="true">
JSP在WEB服务器中都要转换成一个java文件,java文件再编译成一个class文件。当请求JSP页面的时候,实际上运行的是这个class文件。
静态包含发生在:JSP---->java文件阶段。
动态包含发生在:执行class文件阶段。动态加入。
静态包含:只生成一个java文件,动态包含:生成多个class文件。
静态导入适合导入不会经常变化的资源,而动态导入适合一个时常变化的资源例如JSP文件。
pageEncoding是jsp文件本身的编码,是指定web容器将jsp编译成java文件时采用什么编码读取jsp文件。
contentType的charset设置的编码是指服务器发送给客户端时的内容编码。
参考链接:http://blog.csdn.net/gnail_oug/article/details/51707061
方法二动态引用我试了不管用,还有一种办法就是改成jsp界面:
方法二:在web.xml里统一配置pageEncoding的编码,在web-app标签里添加如下配置:

<jsp-config>  
    <jsp-property-group>  
        <description>html encoding</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>  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着大家,现把JSP开发中遇到的中文乱码的问题及解决办...
    七寸知架构阅读 9,923评论 0 52
  • 1.什么是JSP (1)jsp全称是Java Server Pages,它和Servlet技术一样都是sun公司定...
    yjaal阅读 9,096评论 5 99
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,222评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 9,280评论 0 11
  • 不知从何时开始 这繁华的尘世间 到处弥漫着喧嚣 然而人性的背后 却是遍地的浮躁 多少人 在喧嚣中迷失 未能找到方向...
    雨韩阅读 2,795评论 12 11