在主面中包含<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都是针对浏览器端请求来的,浏览器仅就请求了一次,所以这些对象也就只有一份。