Tôi có một đối tượng miền có thuộc tính enum và tôi muốn hiển thị một danh sách thả xuống với tất cả các giá trị enum có thể có trong biểu mẫu cho đối tượng này. Hãy tưởng tượng các đối tượng sau đây:Làm thế nào để hiển thị tất cả các giá trị enum có thể trong danh sách thả xuống bằng Spring và Thymeleaf?
public class Ticket {
private Long id;
private String title;
private State state;
// Getters & setters
public static enum State {
OPEN, IN_WORK, FINISHED
}
}
Trong điều khiển của tôi, tôi có một phương pháp mà ám một hình thức cho đối tượng này:
@RequestMapping("/tickets/new")
public String showNewTicketForm(@ModelAttribute Ticket ticket) {
return "tickets/new";
}
Mẫu trông như thế này:
<form th:action="@{/tickets}" method="post" th:object="${ticket}">
<input type="text" th:field="*{title}" />
<select></select>
</form>
Sau đó nó nên được chuyển thành nội dung như sau:
<form action="/tickets" method="post">
<input type="text" name="title" />
<select name="state">
<option>OPEN</option>
<option>IN_WORK</option>
<option>FINISHED</option>
</select>
</form>
Làm cách nào để tạo thẻ được chọn? Giá trị được lựa chọn cũng nên được ánh xạ tới các vé tự động để tôi có thể làm điều gì đó như thế này trong bộ điều khiển:
@RequestMapping(value = "/tickets", method = RequestMethod.POST)
public String createTicket(@Valid Ticket ticket) {
service.createTicket(ticket);
return "redirect:/tickets";
}
Mục đích của T là gì? – saml
Cú pháp EL mùa xuân của nó để truy cập một kiểu và gọi các phương thức tĩnh hoặc nhận các thuộc tính tĩnh trong nó. Xem http://docs.spring.io/spring/docs/current/spring-framework-reference/html/expressions.html#expressions-types – jchampemont
Ngày 'th: value = $ {{state}}' sử dụng thẻ chuyển đổi –