我在将数据从servlet发送到JSP时遇到了问题。
我的数据来自用户表单,我修改它并尝试将其发送到输出页面,但发送的值与输入页面上获得的值相同。
调试时,我看到地图中更改和更新的变量(在服务方法的引擎下创建),所以我确定问题与我尝试将数据发送到输出页面的方式有关。 / p>
我的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>
输出代码:
String finalPrice = request.getParameter("purchasePrice"); %>
<%= finalPrice %>
知道我做错了吗?
答案 0 :(得分:1)
属性和参数是两个不同的概念。使用request.setAttribute request.getAttribute,您可以在内部传递值,例如servlet之间。 request.getParameter()来自客户端。因此,请将输出代码更改为reqeust.getAttribute(“purchasePrice”)。