在Spring MVC框架中,ModelAndView
對象用于將模型數據和視圖名稱組合在一起,以便在控制器方法中返回給客戶端。要在ModelAndView
中使用條件渲染,您可以根據特定條件將模型數據添加到視圖中,或者根據條件選擇性地渲染某些部分。以下是一些示例,說明如何在ModelAndView
中使用條件渲染:
if
語句:@RequestMapping("/example")
public ModelAndView example() {
ModelAndView modelAndView = new ModelAndView("example");
boolean condition = true; // 您的條件邏輯
if (condition) {
modelAndView.addObject("message", "條件為真時顯示的消息");
}
return modelAndView;
}
if-else
語句:@RequestMapping("/example")
public ModelAndView example() {
ModelAndView modelAndView = new ModelAndView("example");
boolean condition = false; // 您的條件邏輯
if (condition) {
modelAndView.addObject("message", "條件為真時顯示的消息");
} else {
modelAndView.addObject("message", "條件為假時顯示的消息");
}
return modelAndView;
}
switch
語句:@RequestMapping("/example")
public ModelAndView example(int value) {
ModelAndView modelAndView = new ModelAndView("example");
switch (value) {
case 1:
modelAndView.addObject("message", "值為1時顯示的消息");
break;
case 2:
modelAndView.addObject("message", "值為2時顯示的消息");
break;
default:
modelAndView.addObject("message", "值不為1或2時顯示的消息");
}
return modelAndView;
}
Map
來存儲條件渲染的數據:@RequestMapping("/example")
public ModelAndView example() {
ModelAndView modelAndView = new ModelAndView("example");
Map<String, Object> conditionalData = new HashMap<>();
boolean condition = true; // 您的條件邏輯
if (condition) {
conditionalData.put("message", "條件為真時顯示的消息");
} else {
conditionalData.put("message", "條件為假時顯示的消息");
}
modelAndView.addObject("conditionalData", conditionalData);
return modelAndView;
}
在Thymeleaf模板中,您可以使用th:if
、th:unless
、th:switch
和th:case
等屬性來實現條件渲染。例如:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>條件渲染示例</title>
</head>
<body>
<div th:if="${condition}">
<p th:text="${message}"></p>
</div>
<div th:unless="${condition}">
<p th:text="${message}"></p>
</div>
<div th:switch="${value}">
<div th:case="1">
<p th:text="${message1}"></p>
</div>
<div th:case="2">
<p th:text="${message2}"></p>
</div>
<div th:default="">
<p th:text="${messageDefault}"></p>
</div>
</div>
</body>
</html>
這些示例展示了如何在ModelAndView
中使用條件渲染。您可以根據實際需求調整條件邏輯和要渲染的數據。