JavaBeans:无法从JavaBeans类读取变量

JavaBeans:无法从JavaBeans类读取变量,java,jsp,javabeans,Java,Jsp,Javabeans,我得到了一个简单的程序,从一个输入表单开始,用户填写3个数字。表单操作引用了一个控制器servlet,在这里我使用我定义的setter方法将数据存储在Bean类中 number.setNumber1(Double.parseDouble(request.getParameter("number1"))); 到目前为止,我将Number对象存储在请求中 request.setAttribute("numbers", number); 并将它转发到输出页面,在那里我可以使用${numbers.b

我得到了一个简单的程序,从一个输入表单开始,用户填写3个数字。表单操作引用了一个控制器servlet,在这里我使用我定义的setter方法将数据存储在Bean类中

number.setNumber1(Double.parseDouble(request.getParameter("number1")));
到目前为止,我将Number对象存储在请求中

request.setAttribute("numbers", number);
并将它转发到输出页面,在那里我可以使用${numbers.biggestNumber(getter方法,它只确定最大的数字)}获取它。我正在使用的一个教程说,我还可以通过使用以下代码直接从Bean获取数据:

<jsp:useBean id="num" scope="session" class="model.Numbers"/>
<c:out value="${num.biggestNumber}/>


如果你用的是这个

request.setAttribute("numbers", number);
使用RequestDispatcher重定向,然后在目标页面上也可以这样做

进入JSP文件:

<jsp:useBean id="numbers" scope="request" class="model.Numbers"/>
<c:out value="${numbers.biggestNumber}/>


好吧,我的错误是我认为JavaBeans Jsp标记可以节省时间和代码。实际上,我必须创建一个HttpSession对象来存储所用JavaBean的ID

HttpSession sess = request.getSession(true);
sess.setAttribute("number", number);

现在,myoutput.jsp中的JavaBean标记知道要使用哪个对象(在Input.jsp中创建的对象)。就我现在所知,添加到请求中的JavaBean Jsp标记高于正常参数的唯一优点是,我可以在整个会话中使用Bean类,并且不依赖于请求对象。

如何将请求重定向到另一个页面?使用response.redirect???不,我使用的是dispatcher=request.getRequestDispatcher(“/Output.jsp”);转发(请求、响应);经过多次尝试,我知道我犯了什么错误,并解决了它。请参阅我编辑的答案。请,如果您对我的答案感到满意,那么请接受我的答案。我可以在我首先将数据放入请求时使用,但我试图避免这样做。我还将数据设置为JavaBean,并且更希望从那里获取数据,而不依赖于请求。对不起,如果问题不清楚,我不是以英语为母语的人