我正在创建许多jsp和servlet文件但是,这次我感到困惑......
我有一个名为test.java的 在test.jsp 在jsp文件中获取存储在最后一个上下文对象中的所有上下文属性值
怎么可能呢
2 diff属性返回样本值,而我设置了diff值ServletContext context = request.getServletContext();
context.setAttribute("Fname","chintan");
context.setAttribute("Lname","popat");
request.getRequestDispacher("test.jsp").forword(request,response);
<%
String fname = (String)context.getAttribute("Fname"); //popat
String lname = (String)context.getAttribute("Lname"); //popat
%>
答案 0 :(得分:0)
你做错了,使用PageContext的forward方法,而不是RequestDispatcher
pageContext.forward("/resource.jsp");
答案 1 :(得分:0)
这是我的工作测试:
在servlet中:
ServletContext context = request.getServletContext();
context.setAttribute("Fname","chintan");
context.setAttribute("Lname","popat");
request.getRequestDispatcher("/test.jsp").forward(request, response);
test.jsp:
<%
String fname = (String)application.getAttribute("Fname"); //chintan
String lname = (String)application.getAttribute("Lname"); //popat
out.write(fname); out.write(lname);
%>
正确写入chintanpopat
但是......它同时使用一个请求,因为应用程序的所有请求之间共享应用程序上下文。在jsp中,servlet上下文可以通过application
而不是context
访问(除非你已将其设置在别处)。