列表中的 thymeleaf 迭代
thymeleaf iteration on a list
我正在努力使用 thymeleaf 在列表上循环。
我有这两个 类 :
public class Contact {
private String firstname;
private String lastname;
private String email;
private String phone;
public class ContactForm {
private List<Contact> contacts;
以下控制器:
@RequestMapping(value = "/get", method = RequestMethod.GET)
public ModelAndView get() {
ContactForm contactForm = new ContactForm();
contactForm.setContacts(Application.contacts);
return new ModelAndView("add_contact" , "contactForm", contactForm);
}
和视图:
<form method="post" action="save.html" th:action="@{/save}"
th:object="${contactForm}" modelattribute="contactForm">
<table>
<c:out value="${contactForm.contacts.size()}" />
<tr th:each="contact : ${contactForm.contacts}">
<td><input type="text" name="field1"
th:field="${contact.firstname}" /></td>
<td><input type="text" name="field2"
th:field="${contact.lastname}" /></td>
<td><input type="text" name="field3 "
th:field="${contact.email}" /></td>
<td><input type="text" name="field4"
th:field="${contact.phone}" /></td>
</tr>
</tbody>
</table>
<br>
<input value="Save" type="submit">
</form>
Application.contact 是一个包含 4 个元素的联系人列表。
行
的浏览器结果
<c:out value="${contactForm.contacts.size()}" />
是页面上打印的“4”所以对象和4个元素成功传递给了视图。
不幸的是,它永远不会进入 th:each,所以里面什么也没有打印。
我在这里做错了什么?
感谢您的宝贵时间
似乎 Thymeleaf 配置不正确。
使用 Spring Boot 和 Thymeleaf,您至少需要在 pom 中添加以下依赖项才能让 Spring Boot 自动配置 Thymeleaf:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
我正在努力使用 thymeleaf 在列表上循环。 我有这两个 类 :
public class Contact {
private String firstname;
private String lastname;
private String email;
private String phone;
public class ContactForm {
private List<Contact> contacts;
以下控制器:
@RequestMapping(value = "/get", method = RequestMethod.GET)
public ModelAndView get() {
ContactForm contactForm = new ContactForm();
contactForm.setContacts(Application.contacts);
return new ModelAndView("add_contact" , "contactForm", contactForm);
}
和视图:
<form method="post" action="save.html" th:action="@{/save}"
th:object="${contactForm}" modelattribute="contactForm">
<table>
<c:out value="${contactForm.contacts.size()}" />
<tr th:each="contact : ${contactForm.contacts}">
<td><input type="text" name="field1"
th:field="${contact.firstname}" /></td>
<td><input type="text" name="field2"
th:field="${contact.lastname}" /></td>
<td><input type="text" name="field3 "
th:field="${contact.email}" /></td>
<td><input type="text" name="field4"
th:field="${contact.phone}" /></td>
</tr>
</tbody>
</table>
<br>
<input value="Save" type="submit">
</form>
Application.contact 是一个包含 4 个元素的联系人列表。 行
的浏览器结果<c:out value="${contactForm.contacts.size()}" />
是页面上打印的“4”所以对象和4个元素成功传递给了视图。 不幸的是,它永远不会进入 th:each,所以里面什么也没有打印。 我在这里做错了什么?
感谢您的宝贵时间
似乎 Thymeleaf 配置不正确。
使用 Spring Boot 和 Thymeleaf,您至少需要在 pom 中添加以下依赖项才能让 Spring Boot 自动配置 Thymeleaf:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>