从动态添加的行中获取值并存储到数据库中

时间:2013-09-10 12:03:28

标签: java javascript sql jsp jdbc

这是我的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 个答案:

答案 0 :(得分:0)

您需要通过提交表单或AJAX电话将您的数据发送到服务器。提交表单的一种方法是document.form.submit(假设您的文档中没有其他表单)。我发布的代码片段无法更具体。然后在服务器端,从请求中检索参数,并为每组参数(详细信息和数量)调用一次JDBC调用。