我在从两个不同的 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不太熟悉..
我真的希望你们能帮助我解决这个问题!
提前致谢!