Java Spring表单/控制器中令人愤怒的空列表
我试图从表单输入创建一个对象列表。这些对象是相同的,但它们的值可能不同,它本质上是一个菜单 我仍然在处理Spring/Thymeleaf,它给感觉简单的任务增加了一定程度的复杂性 我有一个菜单类,一个简单的POJO,然后有一个定义为bean本身中的数据成员的列表:Java Spring表单/控制器中令人愤怒的空列表,java,spring,spring-mvc,thymeleaf,Java,Spring,Spring Mvc,Thymeleaf,我试图从表单输入创建一个对象列表。这些对象是相同的,但它们的值可能不同,它本质上是一个菜单 我仍然在处理Spring/Thymeleaf,它给感觉简单的任务增加了一定程度的复杂性 我有一个菜单类,一个简单的POJO,然后有一个定义为bean本身中的数据成员的列表: private ArrayList<GuestMenuOptions> guestMenus; 然后填充下拉列表的值和文本 如果我可以保存此映射的状态并将其传递回控制器,那也可以,但我不知道为什么会创建there
private ArrayList<GuestMenuOptions> guestMenus;
然后填充下拉列表的值和文本
如果我可以保存此映射的状态并将其传递回控制器,那也可以,但我不知道为什么会创建there包装列表。请重新访问。它应该尽可能简单
class Animal {
int id;
String name;
}
然后在模板中:
<select th:field="*{animalId}">
<option th:each="animal : ${animals}"
th:value="${animal.id}"
th:text="${animal.name}">Wireframe</option>
</select>
线框
我认为你的代码到处都是,你把菜单选择和菜单项类型混为一谈。我认为这是一个比我试图实现的简单得多的例子。我对这个问题进行了编辑,试图让它更清楚。你介意看一眼吗?
@RequestMapping(value = "/sendRsvp", method = RequestMethod.POST)
public String sendRsvp(@ModelAttribute("guestContactBean") GuestContactBean guestContactBean,
@ModelAttribute("guestMenus") ArrayList<GuestMenuOptions>menus,
BindingResult result) throws MessagingException {
smtpMailSender.send(guestContactBean);
return "thanksMessage";
}
private String numberOfAdults;
private String eventAttending;
private ArrayList<GuestMenuOptions> guestMenus;
public ArrayList<GuestMenuOptions> getGuestMenus() {
return guestMenus;
}
starter.put("salmon", "Smoked Salmon");
starter.put("pate", "Chicken Liver Pate");
class Animal {
int id;
String name;
}
<select th:field="*{animalId}">
<option th:each="animal : ${animals}"
th:value="${animal.id}"
th:text="${animal.name}">Wireframe</option>
</select>