五、JSP之JSP指令与动作元素

一、include指令

<%@ include file="URL"%>

在当前页面显示被包含页面的内容(源代码
在服务器工作目录中只会有一个servlet(主页面和被包含页面转换成一个servlet)


二、include动作

动作标签

<jsp:include page="URL" flush="true|false"/>

在当前页面显示被包含页面的内容(输出结果
在服务器工作目录中会有两个单独的servlet(原来的jsp和被包含的jsp)

主页面的servlet中动作标签会被解析为:
调用被包含页面得到输出结果

org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, 
"date.jsp", out, false);
  • page表示要包含的页面
  • flush表示被包含的页面是否从缓冲区中读取

三、include指令与include动作比较

这里写图片描述
< jsp:include >动作在请求期间被执行,而include指令在编译期页面间被执行


四、forward动作

<jsp:forward page="URL"/>

等同于:请求转发

request.getRequestDispatcher("/url").forward(request, response);

forward动作标签会被解析为:

_jspx_page_context.forward("user.jsp");

五、param动作

<jsp:param value="参数值" name="参数名"/>

添加或者覆盖原有请求中的参数。
常常与forward动作一起使用,并作为其子标签。

<jsp:forward page="user.jsp">
      <jsp:param value="admin@123.net" name="email"/>
      <jsp:param value="888888" name="password"/>
</jsp:forward>

会被解析为:

_jspx_page_context.forward("user.jsp" + "?" + 

org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode("email", request.getCharacterEncoding())+ "=" + 

org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode("admin@123.net", 

request.getCharacterEncoding()) + "&" + 

org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode("password", request.getCharacterEncoding())+ 

"=" + org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode("888888", 

request.getCharacterEncoding()));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值