zoukankan      html  css  js  c++  java
  • jsp>包含指令和forward指令 小强斋

    1、包含指令
     
    <
    %@include%>:只是将页面的内容静态的包含进来,如果被包含的页面有JSP 代码,则执行此代码,而不管被包含的页面文件后缀如何。所有代码包含进来之后,一起进行处理,把所有代码合在一起。先包含后处理
     <jsp:include/>:如果被包含的文件内容是静态的,则直接将内容包含进来,但是不处理,如果被包含的页面是动态的,则先执行,再把结果包含进来显示。所有的代码分别处理,处理完成之后再将代码的显示结果(处理结果)包含进来。可以传递参数,被包含页面通过 request.getParameter()获得参数。先处理后包含

    <jsp:include page="incl.jsp">
      <jsp:param name="ref1" value="MLDN"/>
      <jsp:param name="ref2" value="LXH"/>
     </jsp:include>

     下面的例子可以说明区别:
     被包含的文件:include.jsp

    <%
      int i = 10 ;
     %>
     <h1>include.jsp:<%=i%></h1>

    主jsp  includedemo.jsp

    <html>
     <head>
      <title>include demo</title>
     </head>
     <body>
     <%
      int i = 100 ;
     %>
     <h1>includeDemo04.jsp:<%=i%></h1>
     <jsp:include page="include.jsp"/>   
     <%@include file="include.jsp" %>
     
    </body>
     </html>


    当用<jsp:include>包含时候,可以得到结果分别为100 和10
     
    当用<%@ include> 包含时候,会提示i已经被定义了 Duplicate local variable i
     

    2、 <jsp:forward page="">指令  可以包含参数
     
    forward1.jsp

    <%!int i = 1989;%>
    <jsp:forward page="forward2.jsp">
     <jsp:param name="name" value="wsz" />
     <jsp:param name="password" value="<%=i%>" />
    </jsp:forward>

    forward2.jsp

    <h1>name:<%=request.getParameter("name")%></h1>
    <h1>password:<%=request.getParameter("password")%></h1>

    使用此跳转语句,页面的内容是已经跳转了,但是地址栏没有任何变化,如果没有任何变化,意味着:用户的请求依然没有改变,所以此跳转,属于服务器端跳转

  • 相关阅读:
    NSDateFormatter格式详细列表一览
    Core Data could not fulfill a fault
    使用Devstack部署neutron网络节点
    配置基于Devstack的嵌套KVM虚拟化
    配置基于Devstack的嵌套KVM虚拟化
    Devstack单节点环境实战配置
    Devstack单节点环境实战配置
    Openstack贡献者须知 2 — 社区工作运作 & 代码贡献流程
    Openstack贡献者须知 2 — 社区工作运作 & 代码贡献流程
    Openstack 中的消息总线 & AMQP
  • 原文地址:https://www.cnblogs.com/xiaoqiangzhaitai/p/5429529.html
Copyright © 2011-2022 走看看