ssm thymeleaf获取controller 重定向返回list集合
时间: 2024-02-02 20:46:03 浏览: 69
控制台程序输出重定向
5星 · 资源好评率100%
可以使用redirect前缀将请求重定向到Controller中的另一个方法,然后在这个方法中获取list集合并返回给Thymeleaf模板。
例如,假设我们有一个Controller类,其中有两个方法:一个用于返回表单页面,另一个用于处理表单提交并重定向到另一个Controller方法以获取列表并返回给Thymeleaf模板。
```java
@Controller
public class MyController {
@GetMapping("/form")
public String showForm(Model model) {
model.addAttribute("myObject", new MyObject());
return "myForm";
}
@PostMapping("/submit")
public String handleSubmit(@ModelAttribute("myObject") MyObject myObject) {
// 处理表单提交并重定向到list方法
return "redirect:/list";
}
@GetMapping("/list")
public String showList(Model model) {
List<MyObject> myObjects = // 获取对象列表
model.addAttribute("myObjects", myObjects);
return "myList";
}
}
```
在上面的示例中,`showForm`方法返回表单页面,`handleSubmit`方法处理表单提交并重定向到`showList`方法以获取对象列表。在`showList`方法中,我们可以获取对象列表并将其添加到模型中,然后返回列表页面。
在Thymeleaf模板中,我们可以使用`th:if`指令检查模型中是否存在对象列表,如果存在,则可以使用`th:each`指令遍历列表并显示每个对象的属性。
```html
<!-- myForm.html -->
<form th:action="@{/submit}" th:object="${myObject}" method="post">
<!-- 表单字段 -->
</form>
<!-- myList.html -->
<div th:if="${myObjects}">
<table>
<thead>
<tr>
<th>属性1</th>
<th>属性2</th>
<!-- ... -->
</tr>
</thead>
<tbody>
<tr th:each="myObject : ${myObjects}">
<td th:text="${myObject.property1}"></td>
<td th:text="${myObject.property2}"></td>
<!-- ... -->
</tr>
</tbody>
</table>
</div>
```
阅读全文