JSP页面开发时,很多时候会将页面共同的部分取出作为一个单独的页面。这样,需要这些页面的其他JSP页面可以使用include编译指令或jsp:include动作指令导入这些页面。下面是对如何使用jsp:include来导入一些动态的JSP页面。
导入动态页面时,可以请求Servlet进行相应的操作。
使用<jsp:include page='<%="PartServlet?name=user"%>'></jsp:include>,表示请求的是PartServlet来处理这个请求,?后面可以跟传的参数
Servlet处理完后,使用req.getRequestDispatcher("target.jsp").include(req, resp);要使用include方法来将需要包含的资源包含进去。
每个jsp:include发送的Servlet请求都是一个新的请求,因此如果之前有request请求,那么之前的request将无法再访问。
当使用jsp:include动作指令包含某个页面,即page属性值是一个新的请求,那么既可以请求jsp页面,也可以请求Servlet服务。由于动作指令是在包含页面生成的Servlet类的service方法中调用对应的include方法,所以要service方法执行到该include方法时才会发送这个请求。