我有问题列表,每个问题有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>
请提供一些代码/建议/指导。
提前谢谢所有人
答案 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> </td>
<td> </td>
<td> </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。