4

我是初学者。我想将一组复选框值从一个 JSP 页面传递到另一个页面。获取数据的页面是

<%
     ResultSet rs=s.notapprovedqns();
 %>
 <%                
     while(rs.next())
     { %>
      <tr><td><input name="qns[]" type="checkbox" value="<% out.println(rs.getInt("question_id")); %>" /></td><td><center><%=rs.getString("question_id") %></center></td><td><%=rs.getString("question") %></td></td></tr>
     <% 
        }
      %>

如何在 JSP 另一个页面中接收复选框值。我已经尝试了以下代码,但它不能正常工作

String[] h=null;
h=request.getParameterValues("qns[]");

但它传递了价值

[Ljava.lang.String;@a0a595 

请有人帮我解决这个问题。

4

4 回答 4

6

您可以按如下方式使用它。通知

<form method="post" action="process.jsp">
    <input type="checkbox" name="list" value="value1">
    <input type="checkbox" name="list" value="value2">
    <input type="checkbox" name="list" value="value3">
</form>

在 process.jsp

    String[] ids=request.getParameterValues("list");
    // this will get array of values of all checked checkboxes
    for(String id:ids){
     // do something with id, this is checkbox value
    }
于 2013-12-05T05:23:20.273 回答
1
for(int count=0; count<h.length; count++){
    // DO SOME OPERATION on h[count];
}

另外,只是一个建议,请不要将变量命名为qns[],您可以通过说保持简单selectedItems

于 2013-08-28T15:34:55.853 回答
0

您可以使用 stringbuilder(),我希望它有效:

 ResultSet rs=s.notapprovedqns();
 StringBuilder lstquestion = new StringBuilder();
 while(rs.next()) {
    String question_id = rs.getString("question_id");
    String question = rs.getString("question");
    lstquestion.append('<tr><td><input name="qns[]" type="checkbox" value='+question_id+' /></td><td><center>'+question_id+'</center></td><td>'+question+'</td></td></tr>')

 }
于 2014-03-06T12:07:14.710 回答
0

您正在获取一个数组,因此您需要使用索引获取元素,例如:

h=request.getParameterValues("qns[]");
String item = h[0]

或使用循环迭代整个数组。

于 2013-08-28T15:34:32.217 回答