jsp include参数传送接收与应用

Posted kaschie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp include参数传送接收与应用相关的知识,希望对你有一定的参考价值。

先看一个简单的应用,在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");

 

以上是关于jsp include参数传送接收与应用的主要内容,如果未能解决你的问题,请参考以下文章

JSP 设计教师与学生不同登陆界面(带验证码)

JSP页面与JSP页面之间传输参数出现中文乱码的解决方案

JSP 中动态 INCLUDE 与静态 INCLUDE 的区别?

从广播接收器更改片段

如何使用 jsp:include 参数标签将对象传递到另一个 jsp

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js