jsp include参数传送接收与应用

Deadly 提交于 2019-12-05 03:49:02
先看一个简单的应用,在a.jsp中写如下代码<html>
 <head></head>
 <body>
  <div>
   <jsp:include page="name.jsp">
    <jsp:param name="name" value="xy" />
   </jsp:include>
  </div>这就将名为name,值为xy的参数传送到name.jsp。 那么在name.jsp中接收参数 &lt;% String n=request.getParameter(&quot;name&quot;); if(n!= null &amp;&amp; !&quot;&quot;.equals(n.trim())) out.println(n); %&gt; 
  <div id="showName">
   &lt;%=url&gt;
  </div> 我们来看一个分页的应用 pager.jsp&lt;%@ page language=&quot;java&quot; import=&quot;java.util.*&quot; pageEncoding=&quot;UTF-8&quot;%&gt;&lt;% String path = request.getContextPath(); String basePath = request.getScheme() + &quot;://&quot; + request.getServerName() + &quot;:&quot; + request.getServerPort() + path + &quot;/&quot;;%&gt;&lt;%@tagliburi=&quot;/struts-tags&quot; prefix=&quot;s&quot;%&gt;  
  <base href="&lt;%=basePath%&gt;" />   &lt;% String url = request.getParameter(&quot;url&quot;); %&gt; 
  <s:if test="#request.yrlyquery==null"> 
   <s:if test="data.totalPage&gt;1"> 
    <s:if test="data.totalPage==pageIntNum"> 
     <a href="&lt;%=url%&gt;?pageNum=1">首页</a>&nbsp; 
     <a href="&lt;%=url%&gt;?pageNum=&lt;s:property value=" pageintnum-1"="">&quot;&gt;上一页</a>&nbsp; 
    </s:if> 
    <s:elseif test="pageIntNum==1"> 
     <a href="&lt;%=url%&gt;?pageNum=&lt;s:property value=" pageintnum+1"="">&quot;&gt;下一页</a> 
     <a href="&lt;%=url%&gt;?pageNum=&lt;s:property value=" data.totalpage"="">&quot;&gt;末页</a>&nbsp; 
    </s:elseif> 
    <s:else> 
     <a href="&lt;%=url%&gt;?pageNum=1">首页</a>&nbsp; 
     <a href="&lt;%=url%&gt;?pageNum=&lt;s:property value=" pageintnum-1"="">&quot;&gt;上一页</a>&nbsp; 
     <a href="&lt;%=url%&gt;?pageNum=&lt;s:property value=" pageintnum+1"="">&quot;&gt;下一页</a>&nbsp; 
     <a href="&lt;%=url%&gt;?pageNum=&lt;s:property value=" data.totalpage"="">&quot;&gt;末页</a> 
    </s:else> 
   </s:if> 
  </s:if> 
  <s:else> 
   <s:if test="data.totalPage&gt;1"> 
    <s:if test="data.totalPage==pageIntNum"> 
     <a href="&lt;%=url%&gt;?queryType=q&amp;pageNum=1">首页</a>&nbsp; 
     <a href="&lt;%=url%&gt;?queryType=q&amp;pageNum=&lt;s:property value=" pageintnum-1"="">&quot;&gt;上一页</a>&nbsp; 
    </s:if> 
    <s:elseif test="pageIntNum==1"> 
     <a href="&lt;%=url%&gt;?queryType=q&amp;pageNum=&lt;s:property value=" pageintnum+1"="">&quot;&gt;下一页</a>&nbsp; 
     <a href="&lt;%=url%&gt;?queryType=q&amp;pageNum=&lt;s:property value=" data.totalpage"="">&quot;&gt;末页</a> 
    </s:elseif> 
    <s:else> 
     <a href="&lt;%=url%&gt;?queryType=q&amp;pageNum=1">首页</a>&nbsp; 
     <a href="&lt;%=url%&gt;?queryType=q&amp;pageNum=&lt;s:property value=" pageintnum-1"="">&quot;&gt;上一页</a>&nbsp; 
     <a href="&lt;%=url%&gt;?queryType=q&amp;pageNum=&lt;s:property value=" pageintnum+1"="">&quot;&gt;下一页</a> 
     <a href="&lt;%=url%&gt;?queryType=q&amp;pageNum=&lt;s:property value=" data.totalpage"="">&quot;&gt;末页</a> 
    </s:else> 
   </s:if> 
  </s:else> 当前第 
  <s:property value="pageIntNum" /> 页 共 
  <s:property value="data.totalPage" /> 页 其中pageNum还有data.totalpage等,就涉及到ssh分页的知识了,就不在这里赘述了。stduent.jsp......
  <div> 
   <jsp:include page="../pager.jsp"> 
    <jsp:param name="url" value="stu/Stu_toquery" /> 
   </jsp:include>
  </div>...... 这样就可以完成分页页面的嵌入了。
 </body>
</html>

jsp:include标签参数传递及捕获

在一个jsp页面引入另一个jsp页面的方法主要有一下两种:

 

方式1、指令标签引入法

<%@include file="/context/mytags.jsp"%>

include file是先拼接后编译 ,因此变量可以直接使用,也可以通过pageContext之类的内置对象进行传递

 

方式2、使用jsp:include标签引入,并设置参数

<jsp:include page="/webpage/com/sctf/jxtwx/weixin/pageTitle/pageTitle.jsp">

 <jsp:param value="发布公告-${classesName }" name="pageTitle"/>

</jsp:include>

通过方式2可以传递参数到被引用的页面,以求动态的变更被引用页面的内容。在被引用的页面可以使用下面的方式获取参数并展示:

<%=request.getParameter("pageTitle")%>

 

一般主要用于编写通用的jsp页面。

有可能产生乱码,因此引入页面的页面(不是被引入的页面,也就是说不是上文的pageTitle,而是包含上述代码的页面)要设置request.setCharacterEncoding("utf-8");

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!