我想在servlet中获取动态生成的单选按钮的值,下面是我的jsp代码
<c:forEach items="${questions1}" var="quest">
<tr>
<td>${quest.questions}</td>
</tr>
<tr>
<td><input name="${quest.questionId}" type="radio" value="${quest.option1}" />${quest.option1}</td>
</tr>
<tr>
<td><input name="${quest.questionId}" type="radio" value="${quest.option2}" />${quest.option2}</td>
</tr>
<tr>
<td><input name="${quest.questionId}" type="radio" value="${quest.option3}" />${quest.option3}</td>
</tr>
<tr>
<td><input name="${quest.questionId}" type="radio" value="${quest.option4}" />${quest.option4}</td>
</tr>
<tr>
<td><input name="${quest.questionId}" type="radio" value="${quest.correctAns}" />${quest.correctAns}</td>
</tr>
<tr><td><input name="hcorrectAns" type="hidden" value="${quest.correctAns}" /></td></tr>
</c:forEach>
&#13;
我尝试过使用request.getParameter("quest.questionId");
和request.getParameter("${quest.questionId}")
它没有工作因为我获得了空值。谢谢
答案 0 :(得分:0)
您可以先使用request.getParameterNames()
获取request
参数中的所有参数名称。
Enumeration<String> paramNames = request.getParameterNames();
然后你可以遍历它以获得所有这些参数的值。
while(paramNames.hasMoreElements()) {
String paramName = (String)paramNames.nextElement();
String[] paramValues = request.getParameterValues(paramName);
if (paramValues.length == 1) {
String paramValue = paramValues[0];
if (paramValue.length() == 0){
//No Value;
}else{
//You have the value in paramValue);
}
else {
//get all values one by one
for(int i=0; i<paramValues.length; i++) {
//get paramValues[i];
}
}
}
我希望,它将涵盖所有类型的动态生成的数据。
答案 1 :(得分:0)
试试这个:
List<String> params = Collections.list(request.getParameterNames());//Get param name
for (String p: params)
{
System.out.println(request.getParameter(p));// get param value for each param
}