我使用Spring MVC开发了一部分应用程序。 在这里,我正在从数据库加载一些值到这个jsp。
<div class="row">
<div class="col-sm-4">
<label class="input-label">Answer</label>
</div>
<div class="col-sm-8">
<div class="input-group">
<form:input class="form-control required" type="text" id="securityQuestionAnswer1" path="userSecurityQuestionList[0].securityQuestionAnswer"/>
</div>
</div>
</div>
这个Jsp有一个表单和两个提交按钮。我添加了两个不同的名称,并通过这些名称调用控制器。 并抓住它
@RequestMapping(method = RequestMethod.POST, params = {"next"})
@RequestMapping(method = RequestMethod.POST, params = {"update"})
在jsp(安全答案)中更改第一个加载值后,当我提交表单时,它来到正确的控制器。但它没有捕获文本输入中的更改数据。它捕获jsp加载时加载的旧数据。我已经进行了很多调试测试。但结果相同。
我的控制器方法就像这样
@RequestMapping(method = RequestMethod.POST, params = {"update"})
public String updateSecurityQuections(@Valid @ModelAttribute(value = "userForm")ForogtPasswordForm forogtPasswordForm, BindingResult result,
ModelMap model, final RedirectAttributes redirectAttributes) throws AccountAlreadyRegisteredException,
AccountNotFoundException {
我想知道如何在控制器类中正确捕获(初始化)所有正确的输入数据到此表单。
提前致谢
答案 0 :(得分:0)
尝试按以下顺序放置方法参数。它对我有用,听起来像你的情况类似。
RequestMapping(method = RequestMethod.POST, params = {"update"})
public String updateSecurityQuections(ModelMap model,@Valid @ModelAttribute(value = "userForm")ForogtPasswordForm forogtPasswordForm,
BindingResult result,
final RedirectAttributes redirectAttributes) throws AccountAlreadyRegisteredException,
AccountNotFoundException {