如何在servlet中获取动态生成的单选按钮的值

时间:2015-02-18 07:59:18

标签: java jsp servlets jstl

我想在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;
&#13;
&#13;

我尝试过使用request.getParameter("quest.questionId");request.getParameter("${quest.questionId}")它没有工作因为我获得了空值。谢谢

2 个答案:

答案 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
}