先看一个简单的应用,在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中接收参数 <% String n=request.getParameter("name"); if(n!= null && !"".equals(n.trim())) out.println(n); %> <div id="showName"> <%=url> </div> 我们来看一个分页的应用 pager.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";%><%@tagliburi="/struts-tags" prefix="s"%> <base href="<%=basePath%>" /> <% String url = request.getParameter("url"); %> <s:if test="#request.yrlyquery==null"> <s:if test="data.totalPage>1"> <s:if test="data.totalPage==pageIntNum"> <a href="<%=url%>?pageNum=1">首页</a> <a href="<%=url%>?pageNum=<s:property value=" pageintnum-1"="">">上一页</a> </s:if> <s:elseif test="pageIntNum==1"> <a href="<%=url%>?pageNum=<s:property value=" pageintnum+1"="">">下一页</a> <a href="<%=url%>?pageNum=<s:property value=" data.totalpage"="">">末页</a> </s:elseif> <s:else> <a href="<%=url%>?pageNum=1">首页</a> <a href="<%=url%>?pageNum=<s:property value=" pageintnum-1"="">">上一页</a> <a href="<%=url%>?pageNum=<s:property value=" pageintnum+1"="">">下一页</a> <a href="<%=url%>?pageNum=<s:property value=" data.totalpage"="">">末页</a> </s:else> </s:if> </s:if> <s:else> <s:if test="data.totalPage>1"> <s:if test="data.totalPage==pageIntNum"> <a href="<%=url%>?queryType=q&pageNum=1">首页</a> <a href="<%=url%>?queryType=q&pageNum=<s:property value=" pageintnum-1"="">">上一页</a> </s:if> <s:elseif test="pageIntNum==1"> <a href="<%=url%>?queryType=q&pageNum=<s:property value=" pageintnum+1"="">">下一页</a> <a href="<%=url%>?queryType=q&pageNum=<s:property value=" data.totalpage"="">">末页</a> </s:elseif> <s:else> <a href="<%=url%>?queryType=q&pageNum=1">首页</a> <a href="<%=url%>?queryType=q&pageNum=<s:property value=" pageintnum-1"="">">上一页</a> <a href="<%=url%>?queryType=q&pageNum=<s:property value=" pageintnum+1"="">">下一页</a> <a href="<%=url%>?queryType=q&pageNum=<s:property value=" data.totalpage"="">">末页</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");