gpt4 book ai didi

java - 将表 html 行值读取到 servlet 到另一个 jsp 页面以进行编辑

转载 作者:搜寻专家 更新时间:2023-11-01 03:21:22 24 4
gpt4 key购买 nike

我想获取行的值,然后将其发送到 Java servlet,然后由另一个页面读取,并将这些值插入文本框,供用户编辑并将其写回文本文件。

所以它被读取文本文件的 ProductIO 读取。然后进入jsp表

   <c:forEach var="product" items="${products}">
<tr>
<td ><c:out value='${product.code}'/></td>
<td ><c:out value='${product.description}'/></td>
<td >${product.priceCurrencyFormat}</td>
<td><form action="editproduct" method="post">
<input type="submit" value = "Edit">
</form>
</td>
<td><form action="deleteproduct" method="post">
<input type="submit" value = "Delete">
</form>
</td>
</tr>
</c:forEach>

用户点击删除或编辑按钮,然后将操作发送到deleteproduct servleteditproduct servlet(现在只询问编辑)

编辑产品servlet

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
String url = "/editproduct.jsp";
getServletContext()
.getRequestDispatcher(url)
.forward(request, response);
String action = request.getParameter("action");
if (action == null) {
action = "editproduct"; // default action
} else if (action.equals("editproduct")) {
String productCode = request.getParameter("productCode");
String descString = request.getParameter("description");

//HttpSession session = request.getSession();
Product product = (Product) session.getAttribute("cart");
if (product == null) {
product = new Product();
}
getServletContext()
.getRequestDispatcher(url)
.forward(request, response);
}
}

这三个值被放入 editProduct.jsp 页面上的三个文本框中(我在获取要插入文本框的值以将其用新信息写回文本文件时遇到问题)

            <form action="Product" method="post" >
<input type="hidden" name="action" value="add">
<label>Code:</label>
<input type="text" name="code" value='<%=request.getAttribute("code")%>'
required><br>
<label >Description:</label>
<input type="text" name="desc" value='<%=request.getAttribute("description")%>'
required ><br>
<label >Price:</label>
<input type="text" name="price" value='<%=request.getAttribute("price")%>'
required ><br>
<label>&nbsp;</label>
<!--<input type="submit" value="Update Product" class="margin_left">-->
<!--<input type="submit" value="View Product" class="margin_left">-->
<button type="submit">Update</button><br>

如果需要,我可以分享更多代码。

最佳答案

您没有使用 Servlet 中的任何属性调用 request.setAttribute()。我假设你打算添加类似的内容

request.setAttribute("code", productCode);
request.setAttribute("description", descString);
request.setAttribute("price", product.getPrice());

在转发请求之前。

关于java - 将表 html 行值读取到 servlet 到另一个 jsp 页面以进行编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29879598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com