Java 如何使用Servlet从ArrayList循环插入多个输入

Java 如何使用Servlet从ArrayList循环插入多个输入,java,mysql,jsp,servlets,Java,Mysql,Jsp,Servlets,在下面的代码中,我希望要求用户选择至少一个复选框,然后将该输入与输入的产品id一起输入,并将它们插入两个不同的表中。因此,我遇到的问题是从view/jsp页面和servlet中的查询语句传递多个组件的id <% List<Component> components = new ArrayList<Component>(); components = ComponentDb.selectComponents(); for (Component compon

在下面的代码中,我希望要求用户选择至少一个复选框,然后将该输入与输入的产品id一起输入,并将它们插入两个不同的表中。因此,我遇到的问题是从view/jsp页面和servlet中的查询语句传递多个组件的id

<%
  List<Component> components = new ArrayList<Component>();
  components = ComponentDb.selectComponents();
  for (Component component : components) {
   %>
  <tr> 
   <td></td>
   <td><input type="checkbox" name="component_id" value="    
   <%=component.getId()%>" required="required"><%=component.getName()%></td>
   //here i have the end of form and stuff i doubt its necessary

谢谢

创建两条语句,逐个执行
INSERT
语句

String query = "insert into Product (product_id,product_name,product_description,product_price) VALUES (?,?,?,?)";
ps=connection.prepareStatement(query);
ps.setInt(1,product_id);
...
ps.executeUpdate();

query="insert into PC(product_id,component_id) VALUES (?,?)";
ps=connection.prepareStatement(query);
String []component_ids=request.getParameterValues("component_id");
for(String componentID: components_ids){
   ps.setString(1,product_id);
   ps.setString(2,componentID);
   ps.executeUpdate();
}

请重新表述你的问题。我试过了,希望能好一点,除非你指的是标题?但是我从循环中有多个组件id输入,生成多个组件,可以从中选择。至少为1,可能为2,3
String query = "insert into Product (product_id,product_name,product_description,product_price) VALUES (?,?,?,?)";
ps=connection.prepareStatement(query);
ps.setInt(1,product_id);
...
ps.executeUpdate();

query="insert into PC(product_id,component_id) VALUES (?,?)";
ps=connection.prepareStatement(query);
String []component_ids=request.getParameterValues("component_id");
for(String componentID: components_ids){
   ps.setString(1,product_id);
   ps.setString(2,componentID);
   ps.executeUpdate();
}