Jakarta ee 将数据从servlet发送到JSP

Jakarta ee 将数据从servlet发送到JSP,jakarta-ee,post,Jakarta Ee,Post,我在将数据从servlet发送到JSP时遇到问题 数据来自用户表单,我修改它并尝试将其发送到输出页面,但发送的值与在输入页面上获得的值相同 调试时,我看到映射(在服务方法的引擎盖下创建)中的变量发生了更改和更新,因此我确信问题在于我试图将数据发送到输出页面的方式 我的servlet: public class OpportunityCost extends HttpServlet { private static final long serialVersionUID = 1L;

我在将数据从servlet发送到JSP时遇到问题

数据来自用户表单,我修改它并尝试将其发送到输出页面,但发送的值与在输入页面上获得的值相同

调试时,我看到映射(在服务方法的引擎盖下创建)中的变量发生了更改和更新,因此我确信问题在于我试图将数据发送到输出页面的方式

我的servlet:

public class OpportunityCost extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    if (request.getParameter("purchasePrice") == null) {
        getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
        return;
    }

    String iPurchasePrice = request.getParameter("purchasePrice");
    double purchasePrice = Double.parseDouble(iPurchasePrice);
    purchasePrice = purchasePrice * 100;

    request.setAttribute("purchasePrice",  purchasePrice);

    getServletContext().getRequestDispatcher("/output.jsp").forward(request, response);
}
 }
输入代码:

 <form action="OpportunityCost" method="get"> 
    <table border="0">
        <tr> 
            <td> Home Purchase Price*: <input type="text" value="1" name="purchasePrice" /></td>
        </tr>

        <tr> 
            <td colspan=2"> <input type="submit" value="submit" /> </td>
        </tr>
        </table>

自置居所价格*:

属性和参数是两个不同的概念。使用request.setAttribute request.getAttribute,您可以在内部传递值,例如在servlet之间传递值。request.getParameter()来自客户端。因此,将输出代码更改为request.getAttribute(“purchasePrice”)。

设置request.setAttribute,但尝试显示request.getParameter
    String finalPrice = request.getParameter("purchasePrice"); %>
    <%= finalPrice %>