JSP中的一个传值问题 求解!

有两个jsp文件,前端文件有一个表格,可以点击界面按钮增加行数,并向表格内填入数据,如何将表中数据插入数据库?

# 难点在于点击按钮增加的行name是重复的,怎么办?

前端界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<jsp:useBean id="connDB" scope="page" class="com.lah.ToolBean.Conn" />
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>填写出货单</title>
</head>
<body>
    <center>
        <h1>出货单填写</h1>
        <tr>
            <td align="right">出货单号:</td>
            <td><input type="text" name="IncomeOrderNumber"
                style="width: 300px;"></td>
        </tr>

        <form >
            <table width="80%" id="tbl" border="1" align="center">
                <tr>
                    <td>货物编号</td>
                    <td>货物名称</td>
                    <td>货物数量</td>
                </tr>

                <tr>
                    <td><input type=text name=ProductCode /></td>
                    <td><input type=text name=ProductName /></td>
                    <td><input type=text name=ProductNum /></td>
                </tr>

            </table>
            <input type="button" value="添加" onclick="insert_row(ProductCode,ProductName,ProductNum,IncomeOrderNumber.value)" />
        </form>
    </center>
    <script type="text/javascript">
        function insert_row(ProductCode,ProductName,ProductNum,IncomeOrderNumber) {
            //下面这些就是增加行用的
            R = tbl.insertRow() //insertRow() 方法用于在表格中的指定位置插入一个新行。
            C = R.insertCell() //insertCell() 方法用于在 HTML 表的一行的指定位置插入一个空的 <td> 元素。
            C.innerHTML = "<input type='text' name='ProductCode' />"
            C = R.insertCell()
            C.innerHTML = "<input type='text' name='ProductName' />"
            C = R.insertCell()
            C.innerHTML = "<input type='text' name='ProductNum' />"
            C = R.insertCell()
            C.innerHTML = "<input type='button'  value='删除' onclick='deleteRow(this)'>"
        }

        //用来删除行
        function deleteRow(obj) {
            alert("确定删除吗?");
            tbl.deleteRow(obj.parentElement.parentElement.rowIndex);
        }
    </script>
</body>
</html>

//后台
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ page import="java.sql.*"%>
<jsp:useBean id="connDB" scope="page" class="com.lah.ToolBean.Conn" />
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
    <%
    request.setCharacterEncoding("utf-8");
    String number = request.getParameter("IncomeOrderNumber");
    String ProductCode = request.getParameter("ProductCode");
    String ProductName = request.getParameter("ProductName");
    String ProductNum = request.getParameter("ProductNum");
        String str = "select * from [IncomeOrder] where Number='" + number + "'";
        ResultSet rs = connDB.executeQuery(str);
        if (rs.next()) {
    %>
    <script type="text/javascript">
        alert("该单号已经存在");
        history.back();
    </script>
    <%
        } else
            try {
                String strSql = "insert into [IncomeOrder] values('" + number + "','" + ProductCode + "','"
                        + ProductName + "','" + ProductNum + "')";
                int t = connDB.executeUpdate(strSql);
                if (t == 0) {
    %>
    <script type="text/javascript">
        alert("增加失败!");
        history.back();
    </script>
    <%
        } else {
                    response.sendRedirect("success.jsp");
                }
            } catch (Exception e) {
                System.err.println(e.getMessage());
            }
    %>
</body>
</html>

谢谢各位l

后台接收参数的时候用逗号分隔,然后遍历数组,逐条保存,或者把数组转List批量保存

可以在提交表单的时候对数据处理下在上传

  var ProductCodeArr =[];
        $("input[name='ProductCode']").each(function(){
            ProductCodeArr.push($(this).val());
        })

然后在循环ProductCodeArr 写sql,这应该不难吧