JSP 指令

JSP指令用来设置整个JSP页面相关的属性,如网页的编码方式和脚本语言。

语法格式如下:

<%@ directive attribute="value" %>

指令可以有很多个属性,它们以键值对的形式存在,并用逗号隔开。

JSP中的三种指令标签:

在这里插入图片描述

Page指令

Page指令为容器提供当前页面的使用说明。一个JSP页面可以包含多个page指令。

Page指令的语法格式:

<%@ page attribute="value" %>

等价的XML格式:

<jsp:directive.page attribute="value" />

属性

下表列出与Page指令相关的属性:

在这里插入图片描述
实例

<%@ page language=”java” import="java.util.*" pageEncoding="UTF-8"%>

import:等同与import语句,用来指定要导入的Java包

在一个JSP页面中可以给出多个page指令,而且import是可以重复出现的

默认导入的包有:
java.lang.*
java.servlet.*
java.servlet.jsp.*
java.servlet.http.*

pageEncoding:指定当前页面的编码

如果pageEncoding没有指定,那么默认为contentType的值;

如果pageEncoding和contentType都没有指定,那么默认值为iso-8859-1

contentType:等同与调用response.setContentType(“text/html;charset=xxx”);

如果没有指定contentType属性,那么默认为pageEncoding的值;

如果contentType和pageEncoding都没有指定,那么默认值为iso-8859-1

errorPage:如果当前页面出现异常,那么跳转到errorPage指定的jsp页面。

例如:<%@ page errorPage=”b.jsp” %>

isErrorPage:上面示例中指定b.jsp为错误页面,但在b.jsp中不能使用内置对象exception,<%@page isErrorPage="true"%>,指定该JSP文件为出现异常后跳转的JSP文件。

autoFlush:当autoFlush为true时,表示out流缓冲区满时会自动刷新。默认为true

buffer:指定out流的缓冲区大小,默认为8KB

isELIgnored:当前JSP页面是否忽略EL表达式,默认为false,表示不忽略,即支持EL表达式

page指令不常用的属性

language:当前JSP编译后的语言!默认为java,当前也只能选择java

info:当前JSP的说明信息

isThreadSafe:当前JSP是否执行只能单线程访问,默认为false,表示支持并发访问

session:当前页面是否可以使用session,默认为false,表示支持session的使用。

extends:指定JSP编译的servlet的父类!

Include指令

JSP可以通过include指令来包含其他文件。被包含的文件可以是JSP文件、HTML文件或文本文件。包含的文件就好像是该JSP文件的一部分,会被同时编译执行。

Include指令的语法格式如下:

<%@ include file="文件相对 url 地址" %>

include 指令中的文件名实际上是一个相对的 URL 地址。

如果您没有给文件关联一个路径,JSP编译器默认在当前路径下寻找。

等价的XML语法:

<jsp:directive.include file="文件相对 url 地址" />

优点:使用include指令引用外部文件,可以减少代码的冗余。

Taglib指令

JSP API允许用户自定义标签,一个自定义标签库就是自定义标签的集合。

Taglib指令引入一个自定义标签集合的定义,包括库路径、自定义标签。

Taglib指令的语法:

<%@ taglib uri="uri" prefix="prefixOfTag" %>

等价的XML语法:

<jsp:directive.taglib uri="uri" prefix="prefixOfTag" />

实例

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" % prefix="c" >

prefix:指定标签前缀,这个东西可以随意起名

uri:指定第三方标签库的uri(唯一标识)

当然,需要先把第三方标签库所需jar包放到类路径中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值