在部署描述符中配置JSP的page指令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cjmust/article/details/83186208

JSP头部的page指令可以配置JSP的很多内容,一般来说

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

至少有contentType,charset,language三种,其实还有
pageEncoding,配置JSP的字符编码pageEncoding="UTF-8"可以代替charset="UTF-8"
session,它的值只能是truefalse,默认为真,我们可以在JSP页面中使用隐式的session变量
isELIgnored,表示JSP编译器是否解析或转换JSP中的语言表达式(EL),默认为真,JSP2.0之后,默认为假
buffer和autoFlush,默认值分别是8kb(还可以写none)和true,它们决定了JSP的输出方式:缓存在发送还是立即发送到浏览器…buffer指定了JSP缓存大小;autoFlush为真时,缓存越小,数据被刷新到客户端的频率就越高,反之缓存越大,数据刷新到客户端的频率越低。如果设置buffer为none,则关闭缓存,提高JSP性能,但是会增加带宽消耗…
errorPage,如果出现错误,该特性会告诉容易应当转发到哪个JSP
isErrorPage,该页面是否被用作错误页,默认假,如果为真,则可以使用隐式的exception变量
isThreadSafe,默认真,表示当前JSP线程安全(永远不要修改它)
extends,指定当前JSP Servlet的父类,使用了该特性的JSP将无法从一个Web容器中迁移到另一个,不要使用它


如果在每个JSP页面上都配置重复的page指令很麻烦,因此可以在部署描述符中直接配置通用的JSP属性

例子:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                             http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <display-name>Customer Support Application</display-name>

    <jsp-config>
        <jsp-property-group>
            <url-pattern>*.jsp</url-pattern>
            <url-pattern>*.jspf</url-pattern>
            <page-encoding>UTF-8</page-encoding>
            <scripting-invalid>false</scripting-invalid>
            <include-prelude>/WEB-INF/jsp/base.jspf</include-prelude>
            <trim-directive-whitespaces>true</trim-directive-whitespaces>
            <default-content-type>text/html</default-content-type>
        </jsp-property-group>
    </jsp-config>

</web-app>

解析:
<jsp-config>标签可以包含任意数目个<jsp-property-group>,这些属性组用于区分不同JSP属性组的属性(通过<url-pattern>来区分),例如/WEB-INF/jsp/A文件夹下JSP一组,而/WEB-INF/jsp/B一组。
<include-prelude>标签,告知所有属于该属性组的JSP,头部添加文件/WEB-INF/jsp/base.jspf
<page-encoding>标签,修改编码格式
<trim-directive-whitespaces>标签,告知JSP转换器删除响应中的空白,可以帮助我们编写出干净的代码
<scripting-invalid>标签,可以在JSP中禁止使用Java

猜你喜欢

转载自blog.csdn.net/cjmust/article/details/83186208