【菜單管理】【應用到界面的菜單鏈】

這裏寫圖片描述

分析

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