jboss入门(十)配置contentType及charset,TOMCAT5.0下JSP统一配置

在JSP里头部一般要用page语句指定contentType及charset。
如:<%@ page contentType="text/html; charset=GBK" %>
或分开写:
– <%@ page contentType="MIME-Type" %>
– <%@ page pageEncoding="Character-Set" %>
该语句的作用是“指定由JSP页面生成的servlet生成的页面的MIME类型及charset”。默认的字符集是“ISO-8859-1”,如果不指定正确的charset,则我们的页面如有中文,是会乱码的。
我主要描述的是后者,charset,字符集。发生的场景位于一个页面包含另一个页面的情况下。
在JBOSS3.2.3下集成的是tomcat4.0*,用的是JSP1.2/Servlet2.3标准,要求JSP主页面和所包含页面中的“pageEncoding”必须一致,基于这一情况,我们一般做法是包含页面不指定“pageEncoding”,它的属性直接继承父页面即可。
在JBOSS3.2.6下,集成的是tomcat5.0*,要求每个JSP中必须有“pageEncoding”,换句话说,父页面中的指定对子页面没有影响。
有两个方法可解决该问题:
1、为每个页面指定“pageEncoding”,显然不可取!
2、用JSP2.0/Servlet2.4标准,统一配置一下WEB.XML,解析JSP时统一用一个“pageEncoding”.这样我们就不需要为每个JSP里加个声明了。
 
法2的配置细节如下:
配置$JBOSS-HOME/server/default/deploy/jbossweb-tomcat50.sar/TestCrm.war/WEB-INF/web.xml,为下面紫色斜体内容。
替换头部的命名空间声明:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
 
………
………
<jsp-config>
 <jsp-property-group>
     <description>jsp encoding example</description>
     <display-name>JSPConfiguration</display-name>
     <url-pattern>*.jsp</url-pattern>
     <el-ignored>true</el-ignored>
     <page-encoding>GBK</page-encoding>
     <scripting-invalid>false</scripting-invalid>
     <include-prelude></include-prelude>
     <include-coda></include-coda>
 </jsp-property-group>
</jsp-config>
</web-app>
 
说明:<jsp-config>的配置说明
 
你可以在<jsp-property-group>中使用以下的配置元素:
Element 描述
<el-ignored> 如果设置为true, 在匹配指定的URL模式的JSP 页面中,EL 表达式被当作常规的文本而不是EL 表达式。当移植看起来有EL表达式文本的JSP 1.2页面到JSP 2.0的时候,这非常有用。在已经转换为JSP 2.0的页面中,你可以使用一个新增的“elIgnoredpage”属性来选择EL是否有效
<scripting-invalid> 如果设置为true, 在某个匹配的JSP页面使用脚本
<page-encoding> 为匹配指定的URL模式的JSP页面指定编码。这是一个可选的配置(在每一个JSP页面中指定页面的编码),并且对于JSP页面来说这是使用某些文件编码(比如:EBCDIC)唯一的办法
<include-coda> 为所有匹配指定的URL模式的JSP页面的末尾自动包含一个文件,而指定相关的context路径。你可以在一个<jsp-property-group>中多次使用,或者通过多个<jsp-property-group>来实现
<include-prelude> 为所有匹配指定的URL模式的JSP页面的开头自动包含一个文件,而指定相关的context路径。你可以在一个<jsp-property-group>中多次使用,或者通过多个<jsp-property-group>来实现
<is-xml> 如果设置为true, 所有匹配指定的URL模式的JSP页面使用JSP XML语法(它们是JSP Document)

 
 
可参见http://www.oreilly.com.cn/news/jsppart2.php?c=java

 

你可能感兴趣的:(Web,jsp,xml,jboss,sun)