0

我在从两个不同的 servlet 获取 JSP 页面(一个 jsp 页面)中的多个属性时遇到问题。我遇到了一个异常,因为当 JSP 加载时,两个 request.getAttribute() 都被执行了,其中一个还没有从 servlet“发送”。

我首先从第一个 servlet 发送这个:

request.setAttribute("user", user);
RequestDispatcher dispatcher = request.getRequestDispatcher("success.jsp");
dispatcher.forward(request, response);

这就是我从 JSP 文件中获取它的方式:

user = (User) request.getAttribute("user");
You are logged in as <%= user.getUsername() %>.

现在从另一个 servlet 我发送这个:

request.setAttribute("convertedValue", convertedValue);
RequestDispatcher dispatcher = request.getRequestDispatcher("success.jsp");
dispatcher.include(request, response);

并在 JSP 中得到这个:

double value = (Double) request.getAttribute("convertedValue");

问题是我不能像这样拥有它,因为我无法得到“还没有”的东西。我尝试过使用 if(getAttribute!=null) 之类的 if 语句,但效果不是很好。

也许更新 JSP 页面的一部分会起作用,但我不知道怎么做。我对AJAX不太熟悉..

我真的希望你们能帮助我解决这个问题!

提前致谢!

4

1 回答 1

0

request您可以将用户对象设置为会话,而不是设置为

喜欢

req.getSession().setAttribute("user",user);

否则将无法在请求之间共享。

谢谢 。

我希望我以正确的方式理解你的问题。

于 2013-02-22T14:47:05.260 回答