JSP中有三大指令:
1.page———最复杂;配置格式,例如:<%@page language=“java” info=“xxx” ... %>
2.include————静态包含
3.taglib—————导入标签库标
JSP指令概述:
JSP指令的格式:<%@ 指令名 attr1=“” atrtr2=“” %>,一般把JSP指令放到JSP文件的最上方,可以是0~N个指令,但是这不是必须的。
page指令:
常用的指令属性:
1.pageEncoding:指定当前Jsp页面字符的编码方式,默认是ISO-8859-1,不支持中文。
2.contentType:定义本页面隐式对象response的内容类型,默认是text/html。默认是ISO-8859-1,不支持中文。作用与pageEncoding相似。
3.import:导包,可以出现多次,也可以只用一次,不同包之间用逗号隔开。
4.errorPage和isErrorPage
4.1 errorPage:当前页面如果抛出异常,那么要转发(非重定向)到哪一个页面有errorPage决定。
4.2 isErrorPage:标识本页为错误页面,当该属性为true时,响应码是500,并且可以使用9大内置对象中的exception!
备注:当出现错误的时候可以通过配置web.xml转发到哪一个页面。
格式:
<error-page>
<error-code>404</error-code>
<location>/error404.jsp</location>
<error-page>
或者:
<error-page>
<exception-type>java.lang.RuntimeException</exception-type>
<location>/error.jsp</location>
<error-page>
5.autoFlush和buffer
5.1 autoFlush:指定jsp的输出流缓冲区满时,是否自动刷新。默认是true,如果是false,那么在缓冲区满时抛出异常。
5.2 buffer:指定缓冲区大小,默认是8kb,通常不需要修改。
6.isEIgnored:配置是否忽略EL表达式。EL是Exception Language的缩写。
7.language:定义本页面的脚本语言类型,默认是java,这在JSP2.2中是唯一的合法值。
8.isThreadSafe:当前的jsp页面是否支持并发访问。
9.session:当前页面是否支持session,如果是false,那么当前页面就没有session这个内置对象。
10.extends:让jsp生成的Servlet对象继承指定的类。
include指令:
1.include指令是静态包含,与RequestDispatcher的include()功能相似。
2.<%@include%>它是在jsp编译成java文件时完成的!他们共同生成一个java(就是一个servlet)文件,然后再生成一个class。
3.RequestDispatcher的include()是一个方法,包含和被包含的是两个servlet,即两个.class !他们只是把响应的内容在运行时合并了。
作用:页面分解了,使用包含的方式组合在一起,这样一个页面中不变的部分,就是一个独立的jsp,而我们只需要处理变化的页面。
taglib指令:
1.两个属性:
prefix:指定标签库在本页面中的前缀!由我们自己起名。
uri:指定标签库的位置。
例如:
<%@taglib prefix=“s” uri=“/struts-tags”%>