thymeleaf下拉
时间: 2024-12-04 21:14:20 浏览: 12
Thymeleaf是一个流行的Java模板引擎,主要用于在Web应用程序中生成动态HTML页面。在Thymeleaf中,实现下拉菜单(dropdown)可以通过多种方式完成,下面是一个简单的示例:
首先,确保你已经在项目中引入了Thymeleaf依赖。如果你使用的是Maven,可以在`pom.xml`中添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
```
接下来,创建一个控制器来提供下拉菜单的数据:
```java
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import java.util.Arrays;
import java.util.List;
@Controller
public class DropdownController {
@GetMapping("/dropdown")
public String dropdown(Model model) {
List<String> options = Arrays.asList("Option 1", "Option 2", "Option 3", "Option 4");
model.addAttribute("options", options);
return "dropdown";
}
}
```
然后,创建一个Thymeleaf模板文件`dropdown.html`,放在`src/main/resources/templates`目录下:
```html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Thymeleaf Dropdown Example</title>
</head>
<body>
<h1>Thymeleaf Dropdown Example</h1>
<form action="#" th:action="@{/submit}" method="post">
<label for="dropdown">Choose an option:</label>
<select id="dropdown" name="dropdown">
<option th:each="option : ${options}"
th:value="${option}"
th:text="${option}">
</option>
</select>
<button type="submit">Submit</button>
</form>
</body>
</html>
```
在这个示例中,我们使用了Thymeleaf的`th:each`属性来遍历`options`列表,并为每个选项生成一个`<option>`元素。`th:value`和`th:text`属性分别用于设置选项的值和显示文本。
最后,创建一个简单的控制器来处理表单提交:
```java
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class SubmitController {
@PostMapping("/submit")
public String submit(@RequestParam("dropdown") String dropdown) {
System.out.println("Selected option: " + dropdown);
return "submit";
}
}
```
在这个控制器中,我们使用了`@PostMapping`来处理表单提交,并使用`@RequestParam`来获取选中的选项值。
阅读全文