动作元素主要在请求处理阶段起作用,能够影响输出流和对象的创建、使用修改。
书写格式:
<prefix:tagName[attribute1=value1]...[attributen=valuen]/>
或
<prefix:tagName[attribute1=value1]...[attributen=valuen]>
tagbody
</prefix:tagName>
<jsp:include> | <jsp:forward> | <jsp:param> |
<jsp:useBean> | <jsp:setProperty> | <jsp:getProperty> |
<jsp:params> | <jsp:fallback> | <jsp:plugin> |
<jsp:root> | <jsp:text> | <jsp:element> |
<jsp:output> | <jsp:declaration> | <jsp:scriptlet> |
<jsp:expresson> | <jsp:attribute> | <jsp:body> |
<jsp:doBody> | <jsp:invoke> |
include动作:动态加入(静态和动态)的资源。例如(txt文件,jsp文件,html文件,servlet文件),如果是静态网页,内容将直接加入jsp文件中,如果是动态网页,会编译运行后再加入当前jsp页面中。
语法格式:
<jsp:include page="URL或<%=表达式%>" flush="true|false"/>
或
<jsp:include page="URL或<%=表达式%>" flush="true|false">
{<jsp:param name="参数名" value="参数值">}*
</jsp:include>
page属性是相对路径,flush表示引入目标前是否刷新缓冲区 true表示刷新。
<jsp:param>表示传递多个参数给引入的网页。
include指令和动作的区别:
1.执行时间不同,指令是servlet编译时执行,动作是运行时执行,(先有编译,再有运行)
2.引入内容不同,指令引入的时静态文本,可以理解为,把原代码本身引入了(在被转化成servlet之前)所以只会产生一个class文件。动作引入的是执行页面或servlet所生成的应答文本,在运行时,所以会产生两个class。
forward动作:请求转发到另一个jsp,html或相关资源文件去。当它被执行了,它后页面的代码不再被执行,而是去标记指定的目标页面。
语法格式:
<jsp:forward page="重定向的页面"/>
或
<jsp:forward page="重定向的页面">
{<jsp:param name="name" value="value"/>}*
</jsp:forward>
param动作:key/value用于传递参数,一般与<jsp:include> <jsp:forward> <jsp:plugin>一起搭配使用。