我正在嘗試處理動態彈簧表單。重點是,在運行之前我不知道有多少輸入形式。我不知道可以與@RequestParam一起使用的輸入名稱或任何類型的信息。處理動態表格
這裏是我的控制器:
@RequestMapping(value = "/surveys/{id}", method = RequestMethod.GET)
public String survey(@PathVariable int id, ModelMap model) {
model.addAttribute("surveyForm", getQAForm(id));
return "user/survey";
}
@RequestMapping(value = "/submitSurvey", method = RequestMethod.POST)
public String submitSurvey(@ModelAttribute("surveyForm") QAForm qaForm, ModelMap modelMap){
Set<Answer> answers = qaForm.getAnswers();
modelMap.addAttribute("answers", answers);
return "test";
}
和JSP的:
<f:form method="post" modelAttribute="surveyForm" action="/submitSurvey">>
<h2>${surveyForm.survey.title}</h2>
<h5>${surveyForm.survey.description}</h5>
<c:forEach items="${surveyForm.answers}" var="answer">
<div class="panel panel-default">
<div class="panel-heading">
${answer.question.text}
</div>
<div class="panel-body">
<f:input path="${answer.answerText}" type="text" />
</div>
</div>
</c:forEach>
<input class="btn btn-default" type="submit" value="Submit"/>
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
</f:form>
處理後/ submitSurvey要求其簡單的重定向,而不從形式的任何信息test.jsp的。如果有什麼辦法可以解決這個問題,我會感激我的一個正確方向。
究竟什麼是你的問題? –
@AlanHay如何從此表單中獲取結果。 – irisk