【发布时间】:2015-12-03 11:31:22
【问题描述】:
我有一个简单的程序,它从用户填写 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}/>
但不知何故,Bean 使用了 Numbers 类的另一个对象。我看到了这种技术的优势,因为我不必将 Numbers 对象放入请求中。有人可以告诉我如何使用之前存储数据的相同 Numbers 对象吗?
我已经读过我不应该使用“jsp:setProperty...”来存储输入页面上的数据,但是如果我无法获取我手动写入 Bean 的信息,我不得不问自己为什么我应该使用JSP JavaBeans 注释。
我使用了搜索功能,但找不到适合我的问题的答案,或者我只是没有足够的经验来让他们进入更高级的环境......欢迎任何帮助
【问题讨论】:
-
您如何将您的请求重定向到另一个页面?使用 response.redirect... ???
-
不,我正在使用 dispatcher = request.getRequestDispatcher("/Output.jsp"); dispatcher.forward(request, response);
-
经过大量尝试后,我得到了我所犯的错误,并解决了它。请参阅我编辑的答案。拜托,如果您对我的回答感到满意,请接受+赞成我的回答。