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就像是q1
,q2
,等...
所有問題和所有ID正確顯示在HTML
。
當然,如果你可以在同一個'