一、jsp的编译指令是通知jsp引擎的消息,不会生成输出。
jsp的3个编译指令:
page:针对当前页面的指令
include:包含另一个页面的指令
taglib:用于定义和访问自定义标签
编译指令格式:
<%@ 编译指令名 属性="属性值"...%>
page指令各属性的意义:
1.language:声明当前页面使用的脚本语言的种类,因为页面是jsp页面,故属性值通常是java,默认也为java
2.extends:指定jsp编译所产生的java类所继承的父类或者所实现的接
3.import:导入包。默认导入的包有java.lang.*,java.servlet.*,java.servlet.jsp.*,javax.servlet.http.*,这些不需要显示导入
4.session:设定这个jsp页面是否需要打开HTTP Session
5.buffer:设定输出缓冲区的大小。默认为8kb,可以设置为none,也可以设置为其他值,单位为kb
6.autoFlush:当输出缓冲区即将溢出时,是否需要强制输出缓冲区的内容。设置为true时为正常输出,设置为false,则会在buffer溢出时产生一个异常
7.info:设置该jsp的信息或说明。可用Servlet.getServletInfo()来获取。在jsp页面中可直接用getServletInfo()来获取
8.errorPage:指定错误处理页面。如果本页面产生了异常或错误,又没有相应的代码程序做处理,则会自动调用该属性所指定的jsp页面
9.isError:设置本页面是否为错误处理页面
10.contentType:指定用于生成的网页的文件格式和编码字符集,即MIME类型和页面字符集类型,默认的MIME类型是text/html;默认的字符集类型为ISO-8859-1
11:pageEncoding:指定生成网页的编码字符集
include指令:
<%@ include file="test.jsp"%>
二、jsp的动作指令,与编译指令不同,编译指令是通知Servlet引擎的处理消息,在将jsp编译成Servlet时起作用,而动作指令通常可替换成jsp脚本
jsp的7个动作指令:
1.jsp:forward:页面转发,不会丢失请求参数,页面地址栏的url不会发生改变
<jsp:forward page="test.jsp"> <jsp:param name="age" value="18"/> </jsp:forward>
由本页面转发到test.jsp页面,并携带age参数,那么可以在test.jsp页面中使用request.getParameter("age")来接收参数
2.jsp:param:传递参数,必须与其他标签一起使用
3.jsp:include:动态引入一个jsp页面,可以携带参数
<jsp:include page="test2.jsp"> <jsp:param name="age" value="18"/> </jsp:include>
本页面引入test2.jsp页面,这里只是将test2.jsp的body的内容插入到本页面中
4.jsp:userBean:创建一个JavaBean实例
<jsp:userBean id="person" class="com.edu.hue.Person" scope="page"/>
5.jsp:setProperty:设置JavaBean实例的属性
<jsp:setProperty name="person" property="age" value="18"/>
6.jsp:getProperty:输出JavaBean实例的属性
<jsp:getProperty name="person" property="age"/>
7.jsp:plugin:用于下载JavaBean或Applet到客户端执行