上一节我们提到了jsp的指令,相同的,jsp中也存有几个常用的动作。这些动作有些看似与指令相同,但其深层的东西却不尽相同。
jsp中有很多动作,本博文主要介绍<jsp:include>,<jsp:forward>,<jsp:useBean>,<jsp:setProporty>,<jsp:getProperty>这五中常用的动作
一、<jsp:include>动作
学习过上一节的同学们应该还记得<%@ include file="文件相对 url 地址" %>这个指令吧。我们当时将另一个页面引入一个jsp页面,并显示。在jsp中 include动作和include指令极其相似
下面看一个例子
头文件部分就不复制上来了 ,主要是注意一下编码规则 采用 utf-8
我们来看
index.jsp
<h3>下面是被引入的页面</h3>
<jsp:include page="hello.jsp" flush="true"></jsp:include>
hello.jsp
<body>
我是通过include动作引进的页面 <br>
</body>
运行出来和通过指令引入几乎相同。
那么 我们这个include动作的特殊指出在哪呢?那就是它的魅力之处,它可以直接使用被引入文件中的变量,或者说在引入动态页面时,会先处理页面,再引入处理后的结果。
那么我们继续结合一个例子来看
我们把hello.jsp中的代码改成这样
<body>
<%= new Date() %>
</body>
可见 new Date() 是获取当前计算机时间的一个动态方法,我们进行引用之后,结果如此
我们看到了,在一个jsp页面引入时,它优先处理了被引入页面的动态部分,等处理完之后才引入。
至于include指令会如何呢?同学们自己去试试把。这是这两者最大的不同,所以还是请同学们自己测试,不做赘述了。
从上面我们可以看到,jsp中include的动作和指令的大致区别了
二、<jsp:forward>动作
forward动作语法:
<jsp:forward page="URL"/>
等同于
request.getRequestDispatcher("/url").forward(request,response);
(未完待续)