【发布时间】:2015-12-09 07:36:40
【问题描述】:
我正在尝试处理动态弹簧形式。关键是,在运行之前我不确切知道表单有多少输入。我不知道可以与@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 如何从此表单中获取结果。
标签: jsp spring-mvc jstl