第1个回答 推荐于2017-10-11
试下:
----------------------------------------------------
<jsp:include page="b.action" />
----------------------------------------------------
如果 直接跳转到了 b.jsp页面的话
没办法了 给它来硬的;
我们可以在action 里得到 request
----------------------------------------------------
HttpServletRequest request = ServletActionContext.getRequest();
----------------------------------------------------
在使用request 的RequestDispatcher.forward();跳转到b.jsp
----------------------------------------------------
request.getRequestDispatcher("b.jsp").include(request, response);
----------------------------------------------------
这样我们的<jsp:include page="b.action" /> 就好用了
什么出异常。。。
return null; OK本回答被提问者采纳
第2个回答 2016-05-20
一般来说,在JSP页面中包含文件有两种方式,即<%@include file=”uri”%>和<jsp:include page=”uri”></jsp:include>,但要注意它们的区别:
1、 前者路径中不能传参数,也不能用表达式,后者可以。例如:
<jsp:include page=”<%=path%>” flush=”true”>
<jsp:param name=”参数名” value=”参数值”/>
</jsp:include>
传递的参数可以用request.getParameter(“参数名”)来获取。
2、 二者处理方式不同。前者会将被包含文件原封不动地插入到包含文件中,然后再编译,是一个文件;而后者是在执行到<jsp:include>标签后,转向被包含文件,并先执行,然后再继续执行原页面上后面的代码,也就是说会对两个文件分别编译。因此,两页面间的变量如ID、NAME等不能共享。
前者对包含文件和被包含文件的属性要求一致,如不能在这两个页面设置不同的contentType内容(例如一个设置为charset=”GBK”,另一个设置为charset=”gb2312”),否则会抱错;而使用后者,不会有这样的问题。
第3个回答 2016-01-26
在一个JSP页面中包含另一个JSP页面的三种方式。
(1)include指令
include指令告诉容器:复制被包含文件汇总的所有内容,再把它粘贴到这个文件中。
<%@ include file="Header.jsp"%>
(2)include标准动作
<jsp:include page=“Header.jsp”/>
(3)采用JSTL
<c:import url=".sina.com/index.html">
注意:(1)include指令在转换时插入“Header.jsp”的源代码,而<jsp:include>标准动作在运行时插入“Header.jsp"的响应。
(2)采用前两种方式,只能包含当前web应用的界面, 不过,《c:import》可以包含容器之外的内容。
第4个回答 2016-03-29
采用内嵌页的方式
1, 直接请求a.jsp 但是在a.jsp中添加一个内嵌页<iframe></iframe>
2,内嵌页的写法为 <iframe src="b.action"></iframe>
这样,在打开a.jsp时,也能对b.action进行请求了.