2015-02-18 3 views
1

я хочу, чтобы получить значение динамически генерируемой радиокнопки в сервлете, ниже мой 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>

я попытались использовать request.getParameter("quest.questionId"); и request.getParameter("${quest.questionId}") это не работало, потому что я получаю нулевое значение. Спасибо

+0

Пытались 'request.getParameter ("поставить фактический вопрос ID здесь")' вы? – immibis

+0

'request.getParameter (quest.questionId);', но для этого вам нужен объект 'quest'. –

+0

Извините, немного запутался, как создать объект квеста? – Emmanuel

ответ

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]; 
     } 
    } 
} 

Я надеюсь, он будет охватывать все виды динамически генерируемых данных.

+0

спасибо за вашу помощь, но моя проблема в том, что при получении выбранного переключателя в сервлете он получает нулевое значение из-за имени переключателя. – Emmanuel

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 
}