使用Spring Boot、Thymeleaf和Oracle动态填充网站菜单中的子菜单,可以按照以下步骤进行:
具体实现步骤如下:
CREATE TABLE menu (
id INT PRIMARY KEY,
name VARCHAR(50),
link VARCHAR(100)
);
@Entity
@Table(name = "menu")
public class Menu {
@Id
private int id;
private String name;
private String link;
// 省略getter和setter方法
}
@Repository
public interface MenuRepository extends JpaRepository<Menu, Integer> {
// 省略自定义查询方法
}
@Service
public class MenuService {
@Autowired
private MenuRepository menuRepository;
public List<Menu> getAllMenus() {
return menuRepository.findAll();
}
// 省略其他方法
}
@Controller
public class MenuController {
@Autowired
private MenuService menuService;
@GetMapping("/menu")
public String getMenu(Model model) {
List<Menu> menus = menuService.getAllMenus();
model.addAttribute("menus", menus);
return "menu";
}
}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Menu</title>
</head>
<body>
<ul>
<li th:each="menu : ${menus}">
<a th:href="${menu.link}" th:text="${menu.name}"></a>
</li>
</ul>
</body>
</html>
在上述代码中,数据库表名为"menu",实体类为Menu,数据访问层使用了Spring Data JPA的MenuRepository接口,服务层使用了MenuService类,控制器使用了MenuController类,前端页面使用了Thymeleaf模板引擎的menu.html文件。
通过访问"/menu"路径,控制器会调用MenuService的getAllMenus方法获取菜单数据,并将数据传递给前端页面。前端页面使用Thymeleaf的语法动态填充菜单数据,实现了动态填充网站菜单中的子菜单。
推荐的腾讯云相关产品:腾讯云数据库(TencentDB)用于存储菜单数据,腾讯云云服务器(CVM)用于部署Spring Boot项目。
腾讯云数据库产品介绍链接:https://cloud.tencent.com/product/cdb 腾讯云云服务器产品介绍链接:https://cloud.tencent.com/product/cvm
领取专属 10元无门槛券
手把手带您无忧上云