JSP指令主要有三种:page、include、taglib
<%@ 指令名称 属性1=“属性1值”….%>
1、page指令是页面指令,利用页面指令可以定义在整个JSP页面范围内有效的属性。
<%@ page attr1=”value1” attr2=”value2”…%>
常用的几个属性
- language=”java”:当前页面中编写JSP脚本使用的Java语言,默认就是Java,目前也只能是Java。
- contentType=”mimeType;charset=CHARSET”
NOTE : mime类型,如果设置不当,则接收端(客户端)无法识别传过来的数据,也无法显示其中的内容。一般设置为text/html,如果设置成text/css,那么客户端就无法解析HTML标记并显示
例如:<%@ contentType=”text/html;charset=gb2312”%> - session:默认值为True,表示当前页面支持session。
- buffer:设置out对象使用的缓冲区的大小。如果设置为none这表示不使用缓存,而是用PrintWriter对象输出。如果设置了大小,则输出缓冲的大小不应小于这个大小,默认是8KB
- autoFlush:设置为True时,当缓冲区满时,自动将内容输出到客户端,如果设置成false则当缓冲区满时会报出JSP Bufferoverflow溢出异常
- isThreadSafe
- info:该属性可以设置成任意的字符串,如当前页面的信息等,可使用this.getServletInfo()获取这个字符串。
- errorPage :该属性指定当页面出现异常时所调用的页面,如果是以‘/’开头,则将在当前应用的根目录中查找,如果是文件或者文件夹开头则在当前文件所在目录下查找
- isErrorPage:将该页面设置成True那么就可以使用exception对象输出错误信息,如果设置成false则不能使用exception对象,默认是false。
- pageEncoding:指定页面编码
2、include指令
在指定位置嵌入指定文件<%@ include file=”文件的绝对路径或者文件的相对路径”%>,该指令不支持任何的表达式,也不允许传参。<jsp:include>
也可以做到这样
两者的不同之处在也 include 指令是将被包含页面的代码嵌入到当前的页面中生成一个文件,这可以通过看JSP页面转换成的JAVA源码看出来,所以当被包含页面有变化时,需要重新编译。而<jsp:include>
动作元素包含的页面可以是动态的,它是在JSP页面运行的时候确定的,程序执行两个不同的页面,在主页面中声明的变量再被包含页面中是不可见的
例如:
<html>
<tr><%@ include file="title.jsp"%></tr>
</html>
3、taglib指令