胡子模板(Spring-Boot App)/绑定表单数据中的modelAttribute

时间:2018-08-02 08:34:15

标签: spring spring-boot mustache

我正在处理一个处理表单数据的Spring-Boot应用程序。我的问题是,例如在验证错误的情况下,是否有可能绑定表单数据。

我的情况:

form.mustache:

<form action="/form/basisdata" method="post" name="basisdata">
<label for="contactName">Kontakt / Ansprechpartner*:</label>
        <input type="text" name="contactName"/>
<label for="emailAddress">E-Mail-Adresse*:</label>
        <input type="text" name="emailAddress"/>
<input type="hidden" name="_csrf" value="{{_csrf.token}}" />
<button class="a-button" type="submit">Weiter</button>
</form

控制器方法:

@PostMapping("/basisdata")
public ModelAndView setFormBasisdata(@Valid @ModelAttribute("basisdata") Basisdata basisdata, BindingResult bindingResult, Map<String, Object> model) {
    if (bindingResult.hasErrors()) {
        List<Error> errorList = getErrors(bindingResult);
        model.put("errors" , errorList);
        model.put("basisdata", basisdata);
        return new ModelAndView("formBasisdata", model);
    }

    return new ModelAndView("formNextStep", model);
}

如果发生验证错误,我们将正确返回到同一表单页面并显示错误列表。但是表格保持为空。如果表单中预先填写了之前输入的值,我会更喜欢。

在这种情况下,返回ModelAndView是错误的选项吗?

在使用spring形式的jsp模板中,形式中有一个属性,该属性在百里香中的th:object上指定模型(modelAttribute)。我需要更改/添加胡子模板吗?

0 个答案:

没有答案