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

时间:2015-04-26 15:30:42

标签: java jsp servlets

我想获取行的值,然后将其发送到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 servlet editproduct servlet (仅询问有关编辑的内容)< / p>

编辑产品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页面上的三个文本框中(其中我在将值插入文本框时出现问题,以便使用新信息将其写回文本文件)< / p>

            <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>

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

1 个答案:

答案 0 :(得分:2)

您没有使用Servlet中的任何属性调用recv。我假设您打算添加类似

的内容
request.setAttribute()

转发请求之前。