我在jsp文件中添加了一个属性并尝试在servlet中获取它但是我得到空指针异常,这意味着没有这样的属性。
在jsp文件中:
<% String p="signUp.jsp"; request.setAttribute("referredFrom",p); %>
在servlet中:
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
if(req.getAttribute("referredFrom").equals("signUp.jsp")){
RequestDispatcher rd=req.getRequestDispatcher("ApplicantProfile.jsp");
rd.forward(req,resp);
}
}
答案 0 :(得分:0)
它给出null的原因是因为你误解了请求是如何工作的。
让我们假设您的页面在路径index.jsp
中为/MyApp
。当您访问此页面时,请求将发送到服务器。一旦您的jsp文件被加载,此request
就会被销毁因此,当您通过request.setAttribute()
为此请求设置属性时,您将在请求上设置属性,一旦加载此jsp页面,该属性将被销毁。
更好地在会话中设置属性,然后在以后进行检索
session.setAttribute("myAttribute",myObj);
稍后在Servlet中检索它
request.getSession().getAttribute();