thymeleaf和mybatis下拉框前后端代码
时间: 2023-11-06 07:04:01 浏览: 101
以下是使用Thymeleaf和MyBatis实现下拉框的前后端代码示例。
后端代码:
**Java实体类**
```
public class User {
private Integer id;
private String name;
private Integer gender;
// 省略getter和setter方法
}
```
**MyBatis映射文件**
```
<select id="findAll" resultType="User">
select * from user
</select>
```
**Controller**
```
@RequestMapping("/user")
@Controller
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/add")
public String add(Model model) {
List<User> userList = userService.findAll();
model.addAttribute("userList", userList);
model.addAttribute("user", new User());
return "user/add";
}
@PostMapping("/save")
public String save(User user) {
userService.save(user);
return "redirect:/user/add";
}
}
```
前端代码:
**HTML代码**
```
<form th:action="@{/user/save}" method="post">
<div>
<label for="name">Name:</label>
<input type="text" id="name" name="name" required="required" />
</div>
<div>
<label for="gender">Gender:</label>
<select id="gender" name="gender">
<option value="">--Please select--</option>
<option th:each="user : ${userList}" th:value="${user.id}" th:text="${user.name}"></option>
</select>
</div>
<button type="submit">Save</button>
</form>
```
在这个例子中,我们首先在Controller中查询了所有的用户,并将它们作为一个列表传递给Thymeleaf模板。接着,在HTML模板中,我们通过Thymeleaf的each语法循环遍历用户列表,并将每个用户的id和name作为下拉框的value和text属性。当用户提交表单时,它将被发送到Controller的save方法中,最终保存到数据库中。
这是一个简单的例子,你可以根据你的实际需求进行修改和扩展。
阅读全文