【问题标题】:Sending data from servlet to JSP [duplicate]将数据从 servlet 发送到 JSP [重复]
【发布时间】:2014-02-27 03:37:17
【问题描述】:

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

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

调试时,我看到地图中的变量发生了变化和更新(在服务方法的底层创建),所以我确定问题出在我尝试将数据发送到输出页面的方式上。

我的小服务程序:

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>

输出代码:

    String finalPrice = request.getParameter("purchasePrice"); %>
    <%= finalPrice %> 

知道我做错了什么吗?

【问题讨论】:

  • 您的设置 request.setAttribute 但试图显示 request.getParameter

标签: jakarta-ee post


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2019-01-07
    • 2014-09-25
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 2013-05-27
    • 2014-07-21
    • 1970-01-01
    • 2017-07-27
    相关资源
    最近更新 更多