我试图创建一个对象的2个实例,然后通过input type="submit"
将它们解析到控制器。
这就是我所拥有的:
@RequestMapping (value = "/webdata")
public String vorsorgestammdaten(Model model) {
model.addAttribute("Data", new DataOp());
model.addAttribute("Data2", new DataOp());
return "/webdata";
}
// Here I want to parse both objects
@RequestMapping(value = "/formdata", method = RequestMethod.POST)
public String formdata(HttpServletRequest req, @AuthenticationPrincipal User currentUser,
DataOp Data, DataOp Data2, Model model) {
// Do stuff for example
Data.getName();
Data2.getName();
}
以下是我的表格的一部分:
<form method="post" th:action="@{/formdata}" th:object="${regData}">
<div class="col-sm-4">
<input th:field="${Data2.gender}" type="radio" value="MALE" name="gender" disabled="disabled" /><span>Mr</span>
<input th:field="${Data2.gender}" type="radio" value="FEMALE" name="gender" disabled="disabled"/><span>Frau</span>
<p>Firstname:</p>
<input required="required" type="text" th:field="${Data2.firstname}" placeholder="Max" disabled="disabled" />
</div>
<div class="col-sm-4">
<input th:field="*{Data.gender}" type="radio" value="MALE" name="gender" disabled="disabled" /><span>Mr</span>
<input th:field="*{Data.gender}" type="radio" value="FEMALE" name="gender" disabled="disabled"/><span>Frau</span>
<p>Firstname:</p>
<input required="required" type="text" th:field="*{Data.firstname}" placeholder="Max" disabled="disabled" />
<button type="submit">Speichern</button>
</div>
</form>
答案 0 :(得分:0)
为每个参数添加RequestAttribute注释,添加“name”属性以区分它们。
here你有一些信息。
答案 1 :(得分:0)
尝试删除此th:object="${regData}"
。
然后您可以使用@ModelAttribute
注释。
例如,
public String formdata(HttpServletRequest req,@AuthenticationPrincipal User currentUser, @ModelAttribute DataOp Data,@ModelAttribute DataOp Data2, Model model) {
//Some code
}
您也可以将*{Data.gender}
切换为${Data.gender}
。