Spring MVC表单对象不要初始化正确的数据

时间:2014-08-22 05:31:21

标签: java spring jsp spring-mvc

我使用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 {

我想知道如何在控制器类中正确捕获(初始化)所有正确的输入数据到此表单。

提前致谢

1 个答案:

答案 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 {