获取复选框值

时间:2014-04-07 09:46:06

标签: java html jsp servlets

我正在向servlet发送一个请求,它从db am构造表返回一些数据,复选框中包含结果数据,servlet本身使用out.println,现在我需要选中数据以便使用复选框进一步操作现在我不知道如何获得所选文本框的值。

这是我的servlet代码,

ps=connection.prepareStatement("select t.tc_name,s.scenario_name,t.scenario_id from testcase t, scenario s where t.scenario_id=s.scenario_id;");
        ResultSet rs=ps.executeQuery();
        out.println("<table>");
            /*out.println(executionValues.append("<tr><td>").append("Test Case Name :").append("</td><td>").append("Scenario Name :").append("</td></tr>"));*/    
            while(rs.next()){

            out.println("<li class='panel' value='"+rs.getInt("scenario_id")+"'><b>Scenario Name:</b>"+rs.getString("scenario_name")+"</li><b>Test Case Name:</b>"+rs.getString("tc_name")+"<input type=\"checkbox\" name=\"checkbox\"></li>");

        }

2 个答案:

答案 0 :(得分:1)

您应该删除;

你的SQL查询:

("select t.tc_name,s.scenario_name,t.scenario_id from testcase t, scenario s where t.scenario_id=s.scenario_id;");

你应该改变:

("select t.tc_name,s.scenario_name,t.scenario_id from testcase t, scenario s where t.scenario_id=s.scenario_id");

您在每个<html>周围打印全新的<form>checkbox。您的HTML最终会在浏览器中显示为:

<html>
    <head></head>
    <body>
        <html><body><form><input type="checkbox"></form></body></html>
        <form><input type="submit"></form>
    </body>
</html>

这是syntactically invalid HTML。您需要重写代码,以便所有复选框和提交按钮以相同的形式结束:

<html>
    <head></head>
    <body>
        <form>
            <input type="checkbox">
            <input type="submit">
        </form>
    </body>
</html>

然后你也不需要那些丑陋的JavaScript解决方法。您只需给复选框指定相同的名称,但值不同。这样您就可以通过HttpServletRequest#getParameterValues()抓取选中的值。

String[] users = request.getParameterValues("user");

例如:

<form name="input" action="html_form_action" method="get">
<input type="checkbox" name="vehicle" value="Bike">I have a bike<br>
<input type="checkbox" name="vehicle" value="Car">I have a car 
<br><br>
<input type="submit" value="Submit">
</form>

如果您同时选中这两个复选框,您的服务器将收到如下所示的参数:

<强> http://sitename.com/your_page.jsp?vehicle=Bike&vehicle=Car

之后你可以得到这样的值:

String checkboxValues = request.getParameter("vehicle");

checkboxValues获取以逗号分隔的所有值。

请参阅此链接:

http://theopentutorials.com/examples/java-ee/servlet/getting-checkbox-values-from-html-form-in-servlet/

答案 1 :(得分:0)

亲爱的suganth现在把html代码放在servlet中是不合适的。而是使用jsp页面。 但如果你必须以这种方式做,那么你可以提供

  if(conditionMatch){ 
     // code for checked box
     }
     else{ 
          // code for unchecked box
         }
         Hope this helps