有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    您需要通过提交表单或AJAX调用将数据发送到服务器。提交表格的一种方式是提交文件。类型提交(假设您的文档中没有其他表单)。对于你发布的代码片段,我再具体不过了。然后在服务器端,从请求中检索参数,并为每组参数(细节和金额)调用JDBC调用一次