2014-02-17 115 views
1

我有一個包含radio groupscheckboxe groups的表單,每個checkbox group/radio group都有一個唯一的名稱。獲取複選框組的值

在我的Servlet我試圖獲得所有的檢查值爲那些radio groupscheckbox groups

PrintWriter out = response.getWriter(); 
Enumeration<String> requestParameters = request.getParameterNames(); 

while (requestParameters.hasMoreElements()) { 
    String paramName = (String) requestParameters.nextElement(); 
    out.println("Request Paramter Name: " + paramName 
       + ", Value - " + request.getParameter(paramName)); 
} 

當我選擇在checkbox groupcheckboxs我只得到一個值。

例如,我有這樣的checkbox group

<ul class="data-list-2">   
    <li> 
     <div class="icheckbox_square-aero"> 
      <input style="position: absolute; opacity: 0;" name="question_1" class="required" value="Mise en page d’un texte" type="checkbox"> 
     </div> 
     <label>Mise en page d’un texte</label> 
    </li> 

    <li> 
     <div class="icheckbox_square-aero"> 
      <input style="position: absolute; opacity: 0;" name="question_1" class="required" value="Compilation d’un texte" type="checkbox"> 
     </div> 
     <label>Compilation d’un texte</label> 
    </li> 

    <li> 
     <div class="icheckbox_square-aero"> 
      <input style="position: absolute; opacity: 0;" name="question_1" class="required" value="Présentation d’un texte sous forme de diaporama" type="checkbox"> 
     </div> 
     <label>Présentation d’un texte sous forme de diaporama</label> 
    </li> 

    <li> 
     <div class="icheckbox_square-aero"> 
      <input style="position: absolute; opacity: 0;" name="question_1" class="required" value="Edition d’un texte" type="checkbox"> 
     </div> 
     <label>Edition d’un texte</label> 
    </li> 
</ul> 

而且我查了最後三個checkboxs,我只得到一個值,如下所示:

請求放慢參數名稱:question_1,價值 - 彙編d'texte

我對此搜索了一下,我發現我必須添加一個[]每個checkbox group,但名稱後,當我試過了,這是我得到了什麼:

請求放慢參數名稱:question_1 [],值 - 編譯科特迪瓦聯合國texte

我怎樣才能解決這個 ?

回答

1

在窗體中檢查多個複選框將爲您提供字符串數組形式的值。您必須使用request.getParameterValues()才能獲取您在字符串數組中選擇的所有值。

你的樣本可能是這樣的:

String[] questions = request.getParameterValues("question_1"); 
for(int i=0;i<questions.length;i++){ 
out.println(questions[i]); 
}