日期:2014-05-17  浏览次数:20591 次

index中<jsp:include page="head">的问题request,respnse不独立
在主面中包含<jsp:include page="head.jsp" /> 

head页面也有一个独立的servlet 
head.jsp页面
<%
if(request.getAttribute("callBack")==null)
{
request.getRequestDispatcher("/Head").forward(request,response);

}
else
{
 out.print(request.getAttribute("callBack"));
}
%>
Head的servlet:
/*
* 属性
*/
request.setAttribute("callBack", "000");

====================================
问题疑惑:
out.print(request.getAttribute("callBack")); 这一句总是输出 null
这是什么原因,

难道主页包含了head.jsp ,head.jsp中的request和response 这两个对象是index中的吗?

怎么才能用到head.jsp中自已的request,response

------解决方案--------------------
“head页面也有一个独立的servlet”
这句话是什么意思?


<jsp:include page="head.jsp" />
JSP的Include是在服务器端执行的包含,类似于函数调用,某个JSP去调用另一个JSP,在此过程中,request和response都是相同的;head.jsp执行完毕后,类似函数调用执行完毕,回返回主调JSP中继续执行后续代码。


“怎么才能用到head.jsp中自已的request,response”
不存在这个概念,request和response都是针对浏览器端请求来的,浏览器仅就请求了一次,所以这些对象也就只有一份。