从零开始的JSP(5)

指令与动作

include指令

作用是与Django里的模板语言include一样的,显示被包含页面的内容
语法:

1
<%@ include file="URL" %>

include动作

语法:

1
2
3
//page:要包含的页面
//flush:被包含的页面是否从缓冲区读取
<jsp:include page="url" flush="false" />

include指令和动作的区别

除了语法格式的不同,指令和动作还有区别如下:

  1. 发生作用的时间:include指令发生在编译页面期间,include动作发生在请求期间
  2. 包含的内容:include指令为文件的实际内容,include动作为页面的输出
  3. 转换成Servlet:主页面和包含页面转换为一个Servlet,主页面和包含页面转换为独立的Servlet
  4. 编译时间:include指令需要解析资源较慢,include动作较快
  5. 执行时间:include指令快,includ动作每次需要解析资源较慢

forward动作

语法:

1
<jsp:forward page="URL" />

等同于

1
2
//服务器转发语句
request.getRequestDispatcher("url").forward(reqeust, response)

param动作

语法:

1
2
//常常与<jsp:forward>一起使用,作为其的子标签
<jsp:param name="参数名" value="参数值">

举个例子:

1
2
3
<jsp:forward page="another.jsp">
<jsp:param name="address" value="ttliujj@gmail.com">
</jsp:forward>