包含文件标识

语法:
子动作标识:

作用:JSP的动作标识用于向当前页面包含其它的文件。被包含的文件可以是动态文件,也可以是静态文件。

参数说明:url指被包含文件的相对路径;
是子动作标签。用于向被包含的动态页面中传递参数;(详见后面)

注意:在应用标识时,为了使整个页面的层次结构不发生冲突,最好在被包含页面中将、等标签去掉,当然不去掉也可以。

例子:
include动态包含实例:

  1. <jsp:include page="include-动态01.jsp"></jsp:include>
  2. <h2>主体内容</h2>
  3. <jsp:include page="include-动态02.jsp"></jsp:include>
  4. </body>
  5. </html>
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>//include-动态01.jsp文件
  2. <html>
  3. <head>
  4. <title>include静态包含</title>
  5. </head>
  6. <body>
  7. <h2>头部内容</h2>
  8. </body>
  9. </html>
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>//include-动态02.jsp文件
  2. <html>
  3. <head>
  4. <title>Title</title>
  5. </head>
  6. <body>
  7. <h2>尾部内容</h2>
  8. </body>
  9. </html>

运行结果:
image.png
其实除了该标签,使用“<%@include file=”被包含的jsp文件”%>; //静态包含”也可以达到一样的效果,两者的对比如下:
的特点:
(1)动态包含相当于调用了被包含的jsp文件,编译时生成多个源码文件
(2)jsp:include标签之间不能有任何内容(除非要传递参数2)
(3)使用动态包含传递参数的情况:
<%@include file=”被包含的jsp文件”%>的特点:
(1)将内容进行直接的替换
(2)编译时就只会生成一个源码文件,最终内容在全部在jspservice方法中(源码文件)
(3)不能出现同名变量
(4)执行效率高,耦合度高,不够灵活

请求转发标识

语法:
子动作标识:

作用:通过该标识可以请求转发到其它的Web资源,如:jsp页面、HTML页面、servlet等等。执行请求转发之后,当前页面将不被执行,而是去执行该标识指定的目标页面。

参数说明:url指被包含文件的相对路径;
是子动作标签。用于向被包含的动态页面中传递参数;(详见后面)

传递参数标识

语法:

作用:该标识可以作用其它标识()的子标识,用于为其它标识传递参数。(可使用param.参数名接收数据,不够一般不用该标识来传递数据的)

例子:

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4. <title>index页面</title>
  5. </head>
  6. <body>
  7. <jsp:forward page="test.jsp">
  8. <jsp:param name="name" value="I am come form index.jsp"/>
  9. </jsp:forward>
  10. </body>
  11. </html>
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4. <title>test页面</title>
  5. </head>
  6. <body>
  7. name的值:${param.name}
  8. </body>
  9. </html>

运行结果:
image.png