JSP指令是什么?JSP包含哪些指令?

JSP指令用于提供整个JSP页面的相关信息以及用于JSP页面与容器之间的通信。


Page指令 有三种:page指令、include指令、taglib指令


1、page指令:用于设定整个JSP页面的属性和相关功能,page指令共有11个属性:


1.1contentType属性和pageEncoding属性:

contentType属性指定JSP页面的MIME和编码格式

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

pageEncoding属性用来指定JSP文件的编码格式(JSP文件保存时选择的编码格式)

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


1.2import:在JSP中引入Java的包和类,多个包之间以逗号隔开

<%@page import="mypackage.test.*,java.util.Date"%>


1.3session:指定当前页面是否能获得当前用户的session对象,缺省是true,如果指定为false,那么在该页面中无法使用session,使用的话会提示500错误。

<%@page session="true"%>


1.4errorPage:如果当前页面发生异常,网页会重定向到errorPage所指定的页面进行处理

<%@page errorPage="error.jsp" isErrorPage="false"%>  当前页面发生异常,并且没有对异常进行捕获的时候,跳转到error.jsp页面,不指定errorPage的话,画面上直接显示异常的相关信息,这样对使用的用户不是很友好


1.5isErrorPage:允许指定的JSP页面为错误处理页面


1.6 language属性,指定页面中使用的脚本语言种类,目前只支持java

<%@page language="java"%>


1.7extends属性,用于指定该JSP生成的servlet继承自哪个父类,必须指定包名加类名

<%@page extends="mypackage.test.MyJspBase"%>


1.8 buffer属性和autoFlush属性

buffer属性用来设置输出流缓冲区,缓冲区的作用就是为了提高IO性能,也就是说减少write的次数。

autoFlush属性用来指定当输出流缓冲区满了的时候,是否自动刷新缓冲区,true的话,自动把缓冲区的内容输出到底层输出流,false的话,缓冲区满的话,会抛出IO异常。


1.9 isThreadSafe属性,缺省值为true,指定该JSP文件是否支持多线程访问

<%@page isThreadSafe="true"%>  此时,多个线程共用同一个servlet实例

<%@page isThreadSafe="false"%> 此时,每个线程都有一个自己的servlet实例,比较消耗内存资源,所以不建议使用


1.10 info属性,用来设置该jsp文件的介绍信息

<%@page info="This is a jsp page."%>


1.11 isELIgnored属性

用来标示是否支持EL表达式

<%@page isELIgnored="true"%>  不支持EL表达式,EL表达式会被当做普通的html文本

<%@page isELIgnored="false"%> 支持EL表达式


2 include指令 表示在JSP编译时插入一个包含文件或者代码的文件,是一种静态包含 


2.1include指令所包含的文件名不能是一个变量url,只能是静态的文件名。


2.2在被包含页面中,一般不包含标记,两个页面之间不能存在相同的局部变量


3  taglib指令


声明JSP文件使用了标签库(JSP标准标签库,第三方标签库,自定义标签库)

<%@taglib prefix="c"uri="http://java.sun.com/jsp/jstl/core"%>  声明使用JSTL的核心标签库taglib指令让用户能够自定义标签

 


你可能感兴趣的:(javaEE)