jsp 根据数据库内容循环生成onclick二级菜单
时间: 2024-05-15 11:19:46 浏览: 12
假设数据库表中有以下数据:
| id | name | url | parent_id |
|----|------------|--------------|-----------|
| 1 | Home | /home | null |
| 2 | Products | /products | null |
| 3 | Computers | /computers | 2 |
| 4 | Laptops | /laptops | 3 |
| 5 | Desktops | /desktops | 3 |
| 6 | Accessories| /accessories | 2 |
则可以使用以下代码生成二级菜单:
```jsp
<ul>
<%
// 查询所有顶级菜单
List<Menu> topMenus = getMenuByParent(null);
for (Menu topMenu : topMenus) {
%>
<li><a href="<%= topMenu.getUrl() %>"><%= topMenu.getName() %></a>
<%
// 查询当前顶级菜单下的子菜单
List<Menu> subMenus = getMenuByParent(topMenu.getId());
if (!subMenus.isEmpty()) {
%>
<ul>
<% for (Menu subMenu : subMenus) { %>
<li><a href="<%= subMenu.getUrl() %>" onclick="menuClick('<%= subMenu.getUrl() %>')"><%= subMenu.getName() %></a></li>
<% } %>
</ul>
<% } %>
</li>
<% } %>
</ul>
```
其中,`getMenuByParent(Long parentId)` 方法是根据父级菜单 ID 查询子菜单的方法,`menuClick(url)` 是点击菜单项时触发的方法,可以在该方法中实现页面跳转等操作。