如何插入多个复选框值到数据库?



所以,我有一个表单,我有两个复选框,都可以选中,但当我选中这两个数据不进入数据库只有第一个值插入。

我尝试使用getParameterValues,也给了它作为bean数组,也尝试了一些jquery函数,但无法实现这一点,可以有人请帮助吗?

我知道已经有很多例子了,但是没有一个对我有用。

我将在下面添加代码。

是控制器servlet

public void insertProduct(HttpServletRequest request, HttpServletResponse response)throws SQLException, IOException, ClassNotFoundException, ServletException, ParseException
{       
String code = request.getParameter("code");        
String name = request.getParameter("name"); 
int price = Integer.parseInt(request.getParameter("price"));
String home_main_category = request.getParameter("home_main_category");
String home_sub_category = request.getParameter("home_sub_category");
String p_avail = request.getParameter("p_avail");
String p_act = request.getParameter("p_act");      // This is the checkbox
String pro_exp_date = request.getParameter("pro_exp_date");
String pro_manufacture_date = request.getParameter("pro_manufacture_date");

Product newProduct = new Product(code,name,price,home_main_category,home_sub_category,p_avail,p_act,pro_exp_date,pro_manufacture_date);

try 
{
productDAO.insertProduct(newProduct);
}

catch (ClassNotFoundException e)
{
e.printStackTrace();
}

RequestDispatcher rd = request.getRequestDispatcher("CreateProduct.jsp");

rd.forward(request,response);
}

我猜,问题是与形式重复的名称-p_act:

<input type = "checkbox" name = "p_act" value = "In_Stock" >
<input type = "checkbox" name = "p_act" value = "Out_Of_Stock" >

我认为你应该为每个位置做单独的名字(如p_act1,p_act2),并以某种方式将它们连接起来。例如:

String p_act = Stream.of(request.getParameter("p_act1"), request.getParameter("p_act2"))
.filter(Objects::nonNull)
.collect(Collectors.joining(","))

相关内容

  • 没有找到相关文章

最新更新