Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从servlet/s到同一JSP获取多个属性_Jsp_Jakarta Ee_Servlets_Refresh_Dispatcher - Fatal编程技术网

从servlet/s到同一JSP获取多个属性

从servlet/s到同一JSP获取多个属性,jsp,jakarta-ee,servlets,refresh,dispatcher,Jsp,Jakarta Ee,Servlets,Refresh,Dispatcher,我在从两个不同的servlet获取JSP页面(一个JSP页面)中的多个属性时遇到问题。我得到一个异常,因为当JSP加载时,两个request.getAttribute()都被执行,其中一个还没有从servlet“发送” 我首先从第一个servlet发送此消息: request.setAttribute("user", user); RequestDispatcher dispatcher = request.getRequestDispatcher("success.jsp"); dispatc

我在从两个不同的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() %>.
并在JSP中获取以下内容:

double value = (Double) request.getAttribute("convertedValue");
问题是我不能像这样拥有它,因为我不能得到“还没有”的东西。我试过使用if(getAttribute!=null)之类的if语句,但效果不太好

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

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


提前谢谢

不必设置为
请求
,您可以将用户对象设置为会话,如下所示,这样它就不会因每个新请求而消失,并且在会话中可用

否则就不可能在请求之间共享

谢谢

我希望我正确地理解了你的问题

double value = (Double) request.getAttribute("convertedValue");
req.getSession().setAttribute("user",user);