2017-01-01 59 views
1

在doGet方法我已經創建單選按鈕:OD值單選按鈕()

<c:forEach items="${questions}" var="question"> 
       <li> 
       ${question.value} 
       <label><input type="radio" name="${question.key}" value="yes"> Yes</label> 
       <label><input type="radio" name="${question.key}" value="no"> No</label> <br/> 
       </li> 
      </c:forEach> 

這些正確地創建。當我嘗試讀取單選按鈕的選定值我得到null

我讀他們:

if ("yes".equalsIgnoreCase(req.getParameter(QUESTION + "" + String.valueOf(questionIndex)))) { 
       answer = "1"; 
      } 

我也得到nulls,當我剛剛與System.out

 System.out.println("q0: "+ req.getParameter("q0")); 
     System.out.println("q1: "+ req.getParameter("q1")); 
     System.out.println("q2: "+ req.getParameter("q2")); 
     System.out.println("q3: "+ req.getParameter("q3")); 

檢查值當我想要讀取doPost()中的值時,您是否有任何想法可以獲得nulls

編輯: 這是我的HTML:

<div> 
    <form method="GET" action="keywords"> 
     <ul> 
      <c:forEach items="${questions}" var="question"> 
       <li> 
       ${question.value} 
       <label><input type="radio" name="${question.key}" value="yes">Yes</label> 
       <label><input type="radio" name="${question.key}" value="no">No</label> <br/> 
       </li> 
      </c:forEach> 
     </ul> 
    </form> 
</div> 
<div> 
    <form method="POST" action="keywords"> 
     <input type="submit" value="Search Keywords"> 
    </form> 
</div> 

我在這裏猜問題是,我想讀的形式是不是裏面<form>與方法POST,是這樣嗎? 如何更改HTML代碼,以便在doPost我能夠閱讀我在doGet中的表單。

我希望這可以幫助你。

編輯:

地圖是從JSON文件:

public static final String QUESTION = "q"; 
    Map<String, String> questionsMap; 

    public Map<String, String> createQuestionsMap() { 
     questionsMap = new TreeMap<>(); 
     JsonReader jsonReader = new JsonReader(); 
     jsonReader.readQuestionJsonArray(); 
     LOGGER.info(MARKER, "Invoked questions map."); 
     for (String question : jsonReader.readQuestionJsonArray()) { 
      questionsMap.put(QUESTION + "" + questionsMap.size(), question); 
      LOGGER.info(MARKER, 
        "Added question record: " + QUESTION + "" + questionsMap.size() + ", question: " + question); 
     } 
     return questionsMap; 
    } 

的ID就像是q1q2,等...

所有問題和所有ID正確顯示在HTML

回答

0

你需要爲此使用Javascript。也許有一點jQuery的幫助。

當您單擊提交表單中的提交按鈕,而不是默認操作複製來自獲取表單的值,然後用它發佈。

+0

當然,如果你可以在同一個'

'下做按鈕和輸入,你不需要跳過籃球。 – Calvin