简介:
JSP指令的格式<%@ attr1="" attr2="" %>,一般都会把JSP指令放到JSP文件的最上方,但指令不是必须的
JSP三大指令:page,include,tablib
page指令:
page指令是最为常用的指令,其属性都是可选的,没有必须属性,在JSP页面中任何指令都可以重复出现.
- 1.pageEncoding和contentType:
pageEncoding:指定当前jsp页面的编码,jsp文件编码和pageEncoding一致则不会出现乱码,在服务器要把jsp编译成java文件时需要使用pageEncoding.
contentType:表示一个响应头:Content-Type:等同于response.setContentType(“text/html;charset=utf-8”);
如果两个属性只提供一个,则另一个的默认值为设置的一个
如果两个属性都没有设置,默认值为ISO-8859-1 - 2.import:导包,可以出现多次,可多个包路径一起,如:import=“java.lang.,java.util.”
- 3.errorPage和isErrorPage
errorPage:当前页面如果抛出异常,可以指定转发到哪个页面,由errorPage值决定
isErrorPage:指定当前页面是否为处理错误的页面,当改属性为true时,这个页面状态码为500,并且这个页面可以使用九大内置对象中的exception,属性为false则转发状态码为200
另外配置错误页面方式:在web.xml中配置
可以为指定错误状态码设置转发页面,也可为指定异常设置转发页面
<error-page>
<error-code>404</error-code>
<location>/error/404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error/500.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.RuntimeException</exception-type>
<location>/error/RuntimeException.jsp</location>
</error-page>
- 4.autoFlush和buffer
autoFlush:指定jsp输出流缓冲区满时,是否自动刷新,默认为true,如果为false,缓冲区满时抛出异常
buffer:设置缓冲区大小,默认8k,通常不需要修改 - 5.isELIgnored:是否忽略el表达式,默认为false,不忽略,即支持
- 6.基本没用的属性
language:指定当前jsp编译后的语言类型,默认java
info:信息
isThreadSafe:当前jsp是否支持并发访问,默认false,即支持并发访问.
session:当前页面是否支持session,默认true,如果false那么当前页面就不支持session.
extends:让jsp生成的servlet去继承该属性指定的类.
include标签:静态包含
- 语法:<%@include file=“include.jsp” %>,之后引入的jsp就可以使用被引入jsp的变量,页面等信息.
- 作用:将页面分解了,使用包含的方式组合在一起,这样一个页面中不变的地方就是一个独立的jsp,而我们只需要处理变化的页面.
- 与RequestDispatcher的include()的功能类似,但是有区分
include是静态包含,java编译器将多个jsp文件合并编译为一个java文件,再生成一个class文件
RequestDispatcher的include()是将多个servlet的响应内容合并
taglib标签:导入标签库
- 语法:<%@tglib uri="…" prifix=“c”%>
- uri:需要导入的标签库位置
- prifix:标签中在本页面使用的前缀,可自己定义
- 使用标签:在标签库的标签名称前添加"前缀:"表明使用的是该标签库的标签,如<c:text></c:text>