如何从jsp发送和接收多个单选按钮值到jsp

时间:2016-03-05 16:24:57

标签: java mysql jsp radio-button

我有问题列表,每个问题有4个选项优秀,更好,好和差这些问题需要由用户评定每个问题的任何1个选项。我能够从MySQL数据库中获取QID,问题并将它们列在表中,然后列出4个单选按钮,每个问题的每组单选按钮的名称被指定为其QID。这是代码

<tr>
  <td>Q. No.</td>
  <td>Questions</td>
  <td>Excellent</td>
  <td>Better</td>
  <td>Good</td>
  <td>Poor</td>
  </tr>
<%
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/feedback","root", ""); 
Statement st = con.createStatement();
ResultSet rs;

if(count>0){
rs = st.executeQuery("select * from question");
while(rs.next()){
int qno= rs.getInt(1);
String qname= rs.getString(2);
%>
<tr>
<td class="member"><%=qno %></td>
<td class="member"><%=qname %></td>
<td><input name="<%=qno %>" type="radio"  value="1" required="true"/></td>
<td><input name="<%=qno %>" type="radio"  value="2" required="true"/></td>
<td><input name="<%=qno %>" type="radio"  value="3" required="true"/></td>
<td><input name="<%=qno %>" type="radio"  value="4" required="true"/></td>
</tr>            
<%
}%>
<tr>
   <td><input type="submit" value="Submit" /></td>
   <td><input type="reset" value="Reset" /></td>
</tr>

我现在被困在这里,我无法想象如何将选定的单选按钮的值发送到jsp页面,在那里我必须获取值并将它们存储在数据库中作为1/2/3/4每个问题。 这里是上面代码的输出 enter image description here

此外,我正在提交由jsp生成的html代码的视图源以供参考 -

<tr>
    <td>1</td>
    <td>How is your faculty communication</td>
    <td><input name="1" type="radio"  value="1" required="true"/></td>
    <td><input name="1" type="radio"  value="2" required="true"/></td>
    <td><input name="1" type="radio"  value="3" required="true"/></td>
    <td><input name="1" type="radio"  value="4" required="true"/></td>
</tr>
<tr>
    <td>2</td>
    <td>How is your study matrial</td>
    <td><input name="2" type="radio"  value="1" required="true"/></td>
    <td><input name="2" type="radio"  value="2" required="true"/></td>
    <td><input name="2" type="radio"  value="3" required="true"/></td>
    <td><input name="2" type="radio"  value="4" required="true"/></td>
</tr>
<tr>
    <td>3</td>
    <td>How your faculty language</td>
    <td><input name="3" type="radio"  value="1" required="true"/></td>
    <td><input name="3" type="radio"  value="2" required="true"/></td>
    <td><input name="3" type="radio"  value="3" required="true"/></td>
    <td><input name="3" type="radio"  value="4" required="true"/></td>
</tr>

请提供一些代码/建议/指导。

提前谢谢所有人

2 个答案:

答案 0 :(得分:1)

等了1个小时后,我在这个时期尝试了,发现我可以传递和检索值的方法是解决方案 - 我在我的jsp中添加了1个隐藏字段,其中显示了单选按钮,这个隐藏字段会给我这样的行数 -

int totque=0;    
rs = st.executeQuery("select * from question");
while(rs.next()){
   ++totque;
int qno= rs.getInt(1);
String qname= rs.getString(2);
String qnos=Integer.toString(qno);
%>
<tr>
    <td class="member"><%=qnos %></td>
    <td class="member"><%=qname %></td>
    <td><input name="<%=qnos %>" type="radio"  value="1" required/></td>
    <td><input name="<%=qnos %>" type="radio"  value="2" required/></td>
    <td><input name="<%=qnos %>" type="radio"  value="3" required/></td>
    <td><input name="<%=qnos %>" type="radio"  value="4" required/></td>
</tr>
<%
}%>
<tr>
   <td>&nbsp;</td>
   <td>&nbsp;</td>
   <td>&nbsp;</td>
   <td><input type="hidden" id="thisField" name="inputName" value="<%=totque %>"></td>
   <td><input type="submit" value="Submit" /></td>
   <td><input type="reset" value="Reset" /></td>
</tr>

然后在另一个jsp页面上获取隐藏字段的值和单选按钮值。

<% String hidden = request.getParameter("inputName"); 
    int j=Integer.parseInt(hidden);
    %>

    <%    String s[] = new String[j];
    int k=0;
    for (int i=0; i<j; i++){
        k++;
    s[i] = request.getParameter(Integer.toString(k)); 
    out.println(s[i]);
    }%>

根据我的要求,我得到了很好的输出。愿这段代码能帮助别人。 谢谢你没有回复我的帖子,这让我学到很多事实。

答案 1 :(得分:0)

还有一种方法可以做到这一点。您可以为所有单选按钮分配相同的id,例如id =“rb”,并使用value =“在此分配值”,此处可以使用DB中的相关字段。您将拥有一个名为cb的字符串数组,其值将从DB字段中指定。然后在下一个jsp上使用request.getParameter.Values(“cb”)检索String [] cb。