JSP动作指令
jsp中最基础,在开发时最常用的动作指令有
<jsp:include /> 或者 <jsp:include></jsp:inclued>
<jsp:forward /> 或者 <jsp:forward></jsp:forward>
<jsp:param /> 或者 <jsp:param></jsp:param>
1.1<jsp:include>
指令
该指令用来动态包含静态和动态的文件。如果被包含的文件时动态文件,则会先进行处理,再将处理的结果加到JSP页面中。其语法为:
<jsp:include page = "包含文件URL地址" flush = "true | false">
<jsp:include>
指令有两个属性,page和flush属性。page用来指定包含文件的URL地址,flush则表示缓冲区满时,是否进行清空。
范例: 用<jsp:include>
动作指令包含静态文件和动态文件的区别。代码如下:
JSPIncludedDemo.jsp
<%@ page language = "java" pageEncoding = "gb2312" >
<html>
<head>
<title>
JSPIncludedDemo.jsp
</title>
</head>
<body>
<h2>包含静态文件</h2>
<jsp:include page = "JSPIncluded.txt"></jsp:include> <%--动态地包含一个静态文件--%>
<h2>包含动态文件</h2>
<jsp:include page = "JSPIncluded.jsp"></jsp:include> <%--动态地包含一个动态文件--%>
</body>
</html>
JSPIncluded.txt
我是文本文件,我被动态地包含进来了<br>
<%= "当前的时间为" + new Date().toLocaleString() %><br>
JSPInclude.jsp
<%@ page language = "java" pageEncoding = "gb2312" >
我是JSP文件,我被动态地包含进来了<br>
<%= "当前的时间为" + new Date().toLocaleString() % ><br>
在浏览器地址输入 “http://localhost:8080/JavaWeb03/HelloWorld.jsp”。
会看到如下界面:
分析: 可以看到文本文件中的JSP代码直接输出了。
总结<%@ include>
和<jsp:include>
的区别:
1.<%@ include>
指令元素是先将所有被包含的文件包含进来,再进行编译等处理。可以理解为先包含再处理。
2.<jsp:include>
动作指令是先将被包含的文件处理完之后,再将结果包含进来。可以理解为先处理再包含。
1.2<jsp:forward>
指令
该指令用来转移用户的请求。使用户请求的页面从一个页面跳转到另一个页面。这种跳转为服务器端跳转,所以用户地址栏不会发生任何变化。其语法为:
<jsp:forward page = "跳转文件URL地址"></jsp:forward>
page属性用来指定跳转文件的地址。跳转流程为: 执行到<jsp:forward>
才会进行跳转,而且该指令后面的代码不会执行。跳转成功后会执行jsp文件。
1.3<jsp:param>
指令
该指令用来传递参数。一般与<jsp:include>
和<jsp:forward>
配合用。其语法为:
<jsp: param name = "参数名1" value = "参数值1" >
name为参数名,value为参数值。
1.3.1与<jsp:include>
配合用
语法如下:
<jsp:include page = "包含文件URL地址" flush = "true | false" >
<jsp: param name = "参数名1" value = "参数值1" >
<jsp: param name = "参数名2" value = "参数值2" >
<jsp: param name = "参数名3" value = "参数值3" >
......
</jsp:include>
1.3.2与<jsp:forward>
配合用
语法如下:
<jsp:forward page = "跳转文件URL地址" >
<jsp: param name = "参数名1" value = "参数值1" >
<jsp: param name = "参数名2" value = "参数值2" >
<jsp: param name = "参数名3" value = "参数值3" >
......
</jsp:forward>
欢迎小伙伴来评论~