jsp动作是一组jsp内置的标签,用来控制jsp的行为,执行一些常用的jsp页面动作。通过jsp动作实现使用多行java代码能够实现的效果,即对常用的jsp功能进行抽象与封装。
jsp共有七种标准的“动作元素”:<jsp:include>、<jsp:forward>、<jsp:param>、<jsp:plugin>、<jsp:useBean>、<jsp:getProperty>、<jsp:setProperty>
一、include动作
1、概念:用于运行时包含某个文件。若包含jsp文件,则先执行文件再包含结果。
<jsp:include>动作可以包含动态或静态文件,但包含过程不同。若文件是动态的,需要经过jsp引擎编译执行,否则只是简单地把文件内容加到主jsp页面中,虽然不能从文件名上判断文件的静态性或动态性,但是<jsp:include>能同时处理这两类文件,所以不需要在包含时判断静动性。
2、语法:<jsp:include page="relative URL | <%=expression %>" flush="true" />
(1)page:指明被包含文件的相对路径,必须为当前web项目内的文件
(2)flush:指读入被包含文件前是否刷新缓冲区,一般设置为true(默认是false)。
项目ch04案例:
step1:创建静态static.jsp页面
step2:创建动态dynamic.jsp页面
step3:创建include页面包含静态和动态页面
结果:http://localhost:8080/ch04/includejingdong.jsp
二、forward动作
1、概念:用于将用户的请求重定向到其他页面,即停止当前jsp页面的执行,将客户端的请求转交给另一个jsp页面。
jsp<jsp:forward>动作把当前A页面重新导向到另一个B页面上,客户端看到的地址是A页面的地址,而显示的内容是B页面的内容
2、语法:<jsp:forward page="重定向页面的URL">
page:页面相对地址,其值可以是静态的字符串,也可以是计算类型。
项目ch04案例:
创建forward.jsp页面,如下。已知:includejingdong.jsp页面在上述案例中已创建。
结果:http://localhost:8080/ch04/forward.jsp
注意:在使用forward之前不能有任何内容已输出到客户端,否则会发生异常。
三、param动作
1、概念:用来提供参数信息。<jsp:param>经常和<jsp:include>、<jsp:forward>、<jsp:param>及<jsp:plugin>一起使用。
2、语法:<jsp:param name=参数名"" value="参数值">
name:参数的名称
value: 参数值,可以用于页面间的数据传递
项目ch04案例:
step1:创建param.jsp页面
step2:创建sum.jsp页面
结果:http://localhost:8080/ch04/param.jsp
四、plugin动作
<jsp:plugin>动作是用于在客户端浏览器中执行一个Bean或显示一个Applet,而这种显示需要浏览器的java插件。当jsp页面被编译并响应至浏览器执行时,<jsp:plugin>会根据浏览器的版本替换为<object>或<embed>标记。