【菜单管理】【应用到界面的菜单链】

本文介绍了一种在Web应用中实现菜单链的方法。通过在DAO层添加根据URL查询菜单的功能,可以在Action层获取并显示相应的菜单链。使用Struts2标签在JSP页面上展示菜单链。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写图片描述

分析

  • 每个菜单对象,有一个url属性.对应着连接.
  • 请求到action;根据请求的url,从数据得到菜单对象.
  • 在网页上输出菜单对象对应的菜单链.

菜单对象的dao

//添加根据url查询菜单的dao方法
    public SystemMenu get(String url) {
        Session session = sessionFactory.getCurrentSession();
        Query query = session.createQuery("select o from SystemMenu o where o.url = :url");
        query.setParameter("url",url);
        List<SystemMenu> list = query.list();
        if(list.size()==1) {
            return list.get(0);
        }
        return null;
    }

需要菜单链的列表的action

比如:Employee列表显示,需要菜单链,
则在Employee的显示列表的方法中,添加菜单对象.

    public String execute() throws Exception {
        //获取菜单对象
        currentMenu = systemMenuService.get(super.getUrl());

        //获取page对象
        Page<List<Employee>> page = employeeService.list(query);
        super.putContext("page", page);

        return super.LIST;
    }

//getUrl方法(获取当前访问的网址),写在BaseAction中
    public String getUrl() {
         url = ServletActionContext.getRequest().getRequestURL().toString();
        return url;
    }

需要菜单链的列表的jsp

  • 通过当前的菜单对象获取其菜单集合
  • 遍历集合,每个对象中的url属性,就是连接的href.
当前位置 : <s:a action="login_main">主页</s:a>
        <s:iterator value="currentMenu.allParents">
            ><a href="<s:property value="url"/>"><s:property value="name"/></a>
        </s:iterator>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值