<jsp:include>和<jsp:forward>

<jsp:include>标准动作可以在一个页面中包含另一个页面,例如:

<html>
  <body>
    <jsp:include page="Header.jsp" />
  </body>
</html>

include指令也可以实现这种功能,例如:

<html>
  <body>
    <%@ include file="Header.jsp" %>
  </body>
</html>

但两者原理有所不同,<jsp:include>标准动作是动态的,在运行时发生;include指令在转换时发生,直接将内容插入页面之中

include指令和<jsp:include>标准动作都是位置敏感的

注意:

不要把开始和结束HTML和BODY标记放在可重用部件中,设计和编写可重用部件中,要假设他们会包含在其他页面中

使用<jsp:param>可以定制包含内容,例如:

<html>
  <body>
    <jsp:include page="Header.jsp">
      <jsp:param name="subTitle" value="We take the sting out of SOAP." />
    </jsp:include>
  </body>
</html>
Header.jsp如下
<img src="../xxx" />
<br />
${param.subTitle}
<br />


<jsp:forward>标准动作可以从一个jsp页面转发至其他任何资源,包括servlet,jsp等等

有条件的转发:

<html>
  <body>
    Welcome to our page!
    <% if (request.getParameter("userName") == null) { %>
      <jsp:forward page="HandleIt.jsp" />
    <% } %>
    Hello ${param.userName}
  </body>
</html>

注意:

利用<jsp:forward>,缓冲区会在转发之前清空,所以千万不要先刷新输出在转发

<jsp:param>也可以用在<jsp:forward>中

如果<jsp:param>中使用的参数名已经有一个值(作为请求参数),新值会覆盖原来的值,否则,就会向请求增加一个新的请求参数

对包含资源有一些限制:它不能改变响应状态码或设置首部

 

转载于:https://www.cnblogs.com/rowsy/archive/2012/11/11/2838812.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值