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

这里写图片描述

分析

  • 每个菜单对象,有一个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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章