怎样解决jsp:include标签在包括html文件时遇到的乱码问题

在一个JSP页面中,经常须要包括还有一个文件,JSP为我们提供了jsp:include标签能够完毕这个功能,比方:<jsp:include page="some.jsp"></jsp:include>,在自己定义Tag中。我们能够通过pageContext.include(file);的方式来实现和jsp:include相同的效果。可是假设被包括的是一个html文件。我们就非常有可能遇到乱码的问题,比方本来的jsp页面中使用了UTF-8编码,html中的内容也採用了UTF-8编码,最后执行时却发现jsp的输出中。include的部分是乱码。

原因是这种,当jsp在include的时候,被include的内容使用何种编码是由被include页面自身决定的,而决定方式是通过<%@
page lanage="java" pageEncoding="UTF-8" contentType="text/html;UTF-8" %>这种指令来决定的,而html页面中并没有这种指令。所以解决的方法例如以下:

第一种办法:就是不要include html页面,改成include jsp页面

另外一种办法:为被包括的html文件也在第一行加入如jsp一样的指令<%@ page lanage="java" pageEncoding="UTF-8" contentType="text/html;UTF-8" %>

第三种办法:在web.xml中通过配置来告诉web应用,全部html文件输出时都採用UTF-8的编码,配置内容例如以下:

<jsp-config>

<jsp-property-group>

<url-pattern>*.html</url-pattern>

<page-encoding>UTF-8</page-encoding>

</jsp-property-group>

</jsp-config>

个人推荐第三种方法,由于有时候在程序中,我们是通过某种办法动态生成html内容的。加入指令未必是个方便的动作。

时间: 2024-10-17 08:54:14

怎样解决jsp:include标签在包括html文件时遇到的乱码问题的相关文章

如何解决jsp:include标签在包含html文件时遇到的乱码问题

在一个JSP页面中,常常需要包含另一个文件,JSP为我们提供了jsp:include标签可以完成这个功能,比如:<jsp:include page="some.jsp"></jsp:include>,在自定义Tag中,我们可以通过pageContext.include(file);的方式来实现和jsp:include同样的效果.但是如果被包含的是一个html文件,我们就很有可能遇到乱码的问题,比如本来的jsp页面中使用了UTF-8编码,html中的内容也采用了U

spring使用@Value注解读取.properties文件时出现中文乱码问题的解决

解决办法 在spring中我们常常使用.properties对一些属性进行一个提前配置, spring 在读取*.properties文件时, 默认使用的是asci码, 这时 我们需要对其编码进行转换. 下面列举两种常见的方法. 方法一:在配置spring.xml文件时,声明所需的∗.properties文件时直接使用"utf−8"编码 <context:property-placeholder location="classpath:conf/*.properties

解决使用{freopen与 getline}读取不同文件时产生的的问题

读取单一文件 使用 freopen重定向. 用 getline逐行读取,处理. #include <iostream> #include <cstdio> #include <cstring> using namespace std; string s; int main() { freopen("text1.in", "r", stdin); while (getline(cin, s)) { /* - code - */ }

外部调用JS文件时出现中文乱码的解决办法

若测试网页的编码格式为:gb2312,而调用外部JS文件时出现了乱码(前提是JS文件无错误),则将调用的外部JS文件用记事本打开,然后再保存成编码格式为UTF-8的JS文件即可. 若测试网页的编码格式为:UTF-8,则反之即可.

jsp 动作标签

jsp动作标签 动作标签是一种特殊的标签,它影响JSP运行时的功能. 1.include动作标签 <jsp:include page="文件名字"/> 或 <jsp:include page="文件的名字"> </jsp:include> 该动作标签告诉JSP页面动态包含一个文件,即JSP页面运行时将文件加入.与静态插入文件的include指令标签不同,当JSP引擎把JSP页面转译成Java文件时,不把JSP页面中动作指令incl

JSP 语法/标签

┣1.declaration Declaration定义了JSP脚本语言使用的变量和函数,这类似于Java中定义全局变量,或可以把它想像成pascal编程语言中的单元文件的interface部分.声明的X M L形式语法为:<jsp:declaration> declaration goes here < /jsp:declaration>举例如下:<%! public String f(int i) { if (i<3) return("...")

jsp的标签

一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 jsp的常用标签有以下三个 <jsp:include>标签 <jsp:forward>标签 <jsp:param>标签 2.1.<jsp:include>标签 <jsp:include>标签用于把另外一个资源的输出内容插入进当前JSP页面的输出内容

JSP的标签技术

jsp的标签技术:在jsp页面中最好不要出现java代码,这时我们可以使用标签技术将java代码替换成标签来表示.JSP的标签技术主要有下面四种: jsp标签. EL表达式. JSTL标签库. 自定义标签技术. 一.jsp标签 sun原生提供的标签,可以直接在jsp页面中使用.这种标签技术在实际使用中用的不是很多.它有很多标签,下面介绍其中的几种标签: 1.标签 标签用于把另外一个资源的输出内容插入进当前JSP页面的输出内容之中,这种在JSP页面执行时的引入方式称之为动态引入. 语法: <jsp

include标签与include指令的比较

很早以前学习Jsp时就对include指令与inclue标签之间的异同搞的不是很清楚,因为毕竟用起来感觉差不多的,今天特地查了下资料,总的来说它们之间的差别是非常微妙的,可以用如下一句话概括:<%@ include %>指令会首先找到要包含的目标文件,然后把它插入到我们的JSP页面中,就像我们将目标文件中的内容复制粘贴过来了一样:而<jsp:include>则恰恰相反,它是在JSP页面执行的时候才去寻找目标文件,在具体的行为上有如下差别: 1.假设页面A通过include指令包含了