gpt4 book ai didi

java - 如何使用 Spring 和 Thymeleaf 在下拉列表中显示所有可能的枚举值?

转载 作者:IT老高 更新时间:2023-10-28 13:45:48 27 4
gpt4 key购买 nike

我有一个具有枚举属性的域对象,我想以该对象的形式显示一个包含所有可能枚举值的下拉列表。想象以下对象:

public class Ticket {

private Long id;

private String title;

private State state;

// Getters & setters

public static enum State {
OPEN, IN_WORK, FINISHED
}

}

在我的 Controller 中,我有一个为此对象呈现表单的方法:

@RequestMapping("/tickets/new")
public String showNewTicketForm(@ModelAttribute Ticket ticket) {
return "tickets/new";
}

模板如下所示:

<form th:action="@{/tickets}" method="post" th:object="${ticket}">
<input type="text" th:field="*{title}" />
<select></select>
</form>

稍后它应该变成这样的东西:

<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>

如何创建选择标签?选择的值也应该自动映射到票证,以便我可以在 Controller 中执行类似的操作:

@RequestMapping(value = "/tickets", method = RequestMethod.POST)
public String createTicket(@Valid Ticket ticket) {
service.createTicket(ticket);

return "redirect:/tickets";
}

最佳答案

你可以这样做:

<select>
<option th:each="state : ${T(com.mypackage.Ticket.State).values()}"
th:value="${state}"
th:text="${state}">
</option>
</select>

关于java - 如何使用 Spring 和 Thymeleaf 在下拉列表中显示所有可能的枚举值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29515366/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com