java从动态添加的行中获取值并存储到数据库中
下面是我的jsp代码,我使用javascript动态添加行,其中包含名称细节和数量,如何将这些动态添加的行值放入数据库,这里我通过bean创建对象,并在servlet端获取数据
<form action="ClientBean.jsp" method="post">
<TD>
<input type="text" name="particulars" style="width:600px;height: 20px;">
</TD>
<TD>
<input type="text" name="amount" style="width:150px;height:20px; ">
</TD>
</TR>
</table>
<INPUT type="button" value="Add Row" onclick="addRow('tbl_comercial')" />
下面是javascript代码,它将使用这些值动态创建行
function addRow(tbl_comercial){
var table = document.getElementById(tbl_comercial);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
var element1 = document.createElement("input");
element1.type = "text";
element1.name="particulars1[]";
element1.size = 95;
cell1.appendChild(element1);
var cell2 = row.insertCell(1);
var element2 = document.createElement("input");
element2.type = "text";
element2.name = "amount1[]";
cell2.appendChild(element2);
}
以下是Servlet代码
if (uri.contains("/Qutetioninsertion.do")) {
System.out.println("inside client");
ClientBean rb = (ClientBean) request.getAttribute("reg");
Qoutetion model = new Qoutetion();
String result=model.client(rb);
if(result.contains("success")){
rd = request.getRequestDispatcher("qutetiongenarationform.jsp");
request.setAttribute("successmsg", result);
rd.forward(request, response);
}
else{
rd = request.getRequestDispatcher("loginerror.jsp");
request.setAttribute("errormsg",result);
rd.forward(request, response);
}
}
下面是java代码
sql ="insert into commercial(particulars,amount) values(?,?)";
ps2 = con.prepareStatement(sql);
ps2.setString(1, rb.getParticulars());
ps2.setInt(2,rb.getAmount());
ps2.execute();
con.commit();
这是我的bean代码
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="reg" class="com.uttara.reg.ClientBean" scope="request">
<jsp:setProperty name="reg" property="*"/>
</jsp:useBean>
<jsp:forward page="Qutetioninsertion.do"/>
</body>
</html>
# 1 楼答案
您需要通过提交表单或AJAX调用将数据发送到服务器。提交表格的一种方式是提交文件。类型提交(假设您的文档中没有其他表单)。对于你发布的代码片段,我再具体不过了。然后在服务器端,从请求中检索参数,并为每组参数(细节和金额)调用JDBC调用一次