還有就是Element
類:使用thymeleaf到表格數據發佈到使用@ModelAttribute(複雜對象)一個控制器
public class Element {
private Long id;
private Name name;
// Getters and Setters ...
}
而Name
類:
public class Name {
private String en;
private String fr;
private String de;
// Getters and Setters ...
}
有一個getElementsController:
@GetMapping("/elements/create")
public String getElementsCreate() {
return "private/new-element";
}
有一個NewElementController
控制器:
@PostMapping("/elements/create")
public String postElementsCreate(@ModelAttribute Element element) {
System.out.println(element)
return null;
}
還有就是數據發佈到NewElementController一種形式:
<form method="post" th:object="${element}" th:action="@{/elements/create}">
<input type="text" value="1" name="id" placeholder="Id"/>
// How should I make the input fields for:
element.name.en ?
element.name.fr ?
element.name.de ?
<button type="submit">Save element</button>
</form>
設置ID的工作原理,但我不能訪問name
場(這是一個對象)
我試圖與th:field="*{name}"
和th:field="*{name.en}"
,但它不起作用。
你有model.addAttribute( 「元素」,新元素())在@GetMapping方法? –
我現在用@GetMapping控制器更新了這個問題。我必須在那裏放些東西嗎? – Cristian
as @GurkanYesilyurt說你需要將新元素對象設置爲你的映射 – cralfaro