`

struts-menu 权限控制续

阅读更多

上一编的基础上做如下工作即可:

一、新建一个类,用于获取允许显示的菜单列表
package com.wz.common;


import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.TreeSet;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.wz.hibernate.Menu;
import com.wz.hibernate.SessionFactory;

public class TestMenu {
 
 
 public List getList(){
  
  List list = new ArrayList();
  Session session = SessionFactory.getSession();
  Transaction tx = session.beginTransaction();
  
  try {
   
   list = session.createQuery("from Menu order by id").list();
   tx.commit();
  } catch (Exception e) {

   e.printStackTrace();
  }finally{
   if(null != session) session.close();
  }
  return list;
 }

 public static List getAllowed(String menuName){
    
  Session session = SessionFactory.getSession();
  Transaction tx = session.beginTransaction();
  List list = new ArrayList();
  try {
   
   Query query = session.createQuery("from Menu where name like ?");
   query.setParameter(0, "%"+menuName+"%");
   list = query.list();
   
  } catch (Exception e) {
   
   e.printStackTrace();
  }finally{
   if(null != session) session.close();
  }
  return list;
 }
 
 public static void main(String[] args) {
  
  TestMenu tm = new TestMenu();
  List ts = tm.getAllowed("新浪");
  Iterator it = ts.iterator();
  while(it.hasNext()){
   
   Menu menu = (Menu)it.next();
   System.out.println(menu.getName());  
   
  }
 }
}

二、修改原JSP页
<body>

<%
 TestPermissionAdapter test = new TestPermissionAdapter();
 List list = TestMenu.getAllowed("网易");
 test.initializeMenu(list);
 request.getSession().getServletContext().setAttribute("AtdMenuAdapter", test);
 %>
    <div class="dynamicMenu">
        <menu:useMenuDisplayer name="ListMenu" repository="repository" permissions="AtdMenuAdapter">
            <menu:displayMenu name="新浪"/>
            <menu:displayMenu name="网易"/>
        </menu:useMenuDisplayer>
    </div>
</body>

好了,就现到这里吧,学习中......

分享到:
评论

相关推荐

    struts-menu文件

    7. **权限控制**:Struts-menu支持与Spring Security或Apache Shiro等权限管理框架集成,可以实现菜单项的动态显示,根据用户的权限来决定哪些菜单可以被看到或点击。 8. **自定义扩展**:除了基本功能,开发者还...

    Struts-Menu实例教程

    通过模型-视图-控制器(MVC)架构,Struts帮助开发者分离业务逻辑和表现层,促进代码的可维护性和可测试性。 2. **Struts-Menu简介** Struts-Menu是一个插件,专为Struts框架设计,用于生成HTML、XML或JSON格式的...

    struts-menu集成struts2.3.1例子以及注意的地方

    Struts2是一个强大的MVC(模型-视图-控制器)框架,被广泛应用于Java Web开发。Struts2.3.1是该框架的一个版本,它提供了很多改进和新特性,旨在提升开发效率和应用程序的稳定性。这个例子主要关注的是如何将`struts...

    使用Struts-menu轻松实现网页菜单.doc

    它不仅提供了多种样式的菜单,如下拉菜单(`DropDownMenu`)、简单菜单(`SimpleMenu`)、酷炫菜单(`CoolMenu`)、权限表单菜单(`PermissionsFormMenu`)、列表菜单(`ListMenu`)、标签式菜单(`TabbedMenu`)、...

    struts-menu权限按钮(项目例子)

    Struts-menu是一个专门为Struts框架设计的权限管理组件,它为Web应用提供了灵活且强大的菜单构建和权限控制功能。在实际的项目开发中,权限控制是必不可少的一部分,它确保了不同用户只能访问他们被授权的功能和数据...

    struts-menu例子

    - **权限控制**:结合Spring Security或Struts2的拦截器实现菜单的动态显示,根据用户权限过滤菜单项。 - **优化性能**:考虑缓存策略,减少每次请求时的菜单构建开销。 - **响应式设计**:针对不同的设备(如...

    Struts-menu例子加视频

    6. **集成与扩展**:Struts-menu可以轻松集成到现有的Struts应用中,同时也允许开发者进行扩展,例如添加新的菜单样式、行为或者与第三方权限框架的整合。 7. **实践应用**:通过提供的例子,学习者可以了解如何在...

    项目开发过程中使用Struts-menu

    6. **配置menu-config.xml**:这是Struts-menu的核心配置文件,定义了菜单的结构、显示样式和权限控制等。例如,`DropDownMenuDisplayer`、`SimpleMenuDisplayer`等都是不同的菜单显示方式,可以根据需要选择。 7. ...

    struts-menu-2.0

    Struts-menu-2.0是基于Apache Struts框架的一个扩展组件,主要用于构建Web应用程序的菜单系统。这个组件的出现,极大地简化了在Struts应用中创建动态、可配置的菜单的过程,使得开发者能够更加专注于业务逻辑,而...

    struts-menu实例

    在实际应用中,`strutsMenu`这个文件可能是整个实例的源码或者示例项目的打包文件。它可能包含了以下内容: - `struts-menu.xml`:配置文件,定义了菜单结构。 - `MenuAction.java`:可能是一个处理菜单逻辑的...

    Struts-menu源码分析(转贴).rar

    由于Struts-menu可能用于生成动态的用户权限相关的菜单,所以源码中可能会包含对用户角色和权限的判断逻辑。这部分内容可能涉及数据库查询、安全框架(如Spring Security)的集成等。 8. **性能优化**: 分析源码...

    struts-menu

    5. **权限控制**:通过集成Spring Security或其他权限框架,Struts-menu可以实现对菜单项的权限检查,确保用户只能访问他们被授权的功能。 6. **可扩展性**:Struts-menu的设计允许开发者添加新的菜单类型和行为,...

    struts-menu-2.4.3-src

    在实际开发中,Struts Menu 提供了动态生成菜单的能力,可以根据用户的权限和应用状态自动生成相应菜单,这在多用户角色和复杂权限控制的系统中尤其有用。同时,它支持国际化,可以方便地适应不同语言环境。此外,...

    权限控制(struts2+hibernate+spring+struts-menu+valuelist)

    本项目以"权限控制(struts2+hibernate+spring+struts-menu+valuelist)"为主题,采用一系列成熟的技术栈来实现这一目标。下面我们将深入探讨这些技术及其在项目中的应用。 首先,Struts2作为MVC框架,负责处理HTTP...

    Struts-Menu.jar

    4. **权限控制**:StrutsMenu支持基于角色的访问控制(RBAC),可以通过配置指定只有拥有特定角色的用户才能看到或访问某些菜单项。 5. **定制**:StrutsMenu的灵活性很高,开发者可以通过自定义样式和JavaScript来...

    xtree一个关于Struts-menu的项目

    Struts-menu在没有权限控制时最简单,只需配置文件就可以生成需要的菜单;在要菜单权限控制时,可以和Tomcat(或其他J2EE容器)的认证机制结合实现权限控制,也可以利用后台数据库的方式实现权限控制。

    Struts——Menu示例教程

    6. **动态Menu**:为了提高灵活性,还可以考虑实现动态生成Menu的功能,这可能涉及到权限控制,即根据用户角色和权限动态决定哪些菜单项可见。 在提供的文件列表中,"速动画教程第十四集.exe"和"速动画教程第十四集...

    基于数据库的struts-menu.rar

    Struts使用MVC(Model-View-Controller)设计模式,将业务逻辑、用户界面和控制逻辑分离。Controller部分由Struts框架提供,它处理HTTP请求,并调用相应的Action来执行业务逻辑,然后将结果模型传递给View进行展示。...

    J2EE 0.4—加入批量CRUD功能、加入框架页面、加入struts-menu等

    在本项目中,"J2EE 0.4—加入批量CRUD功能、加入框架页面、加入struts-menu"是一个关于使用Java企业版(J2EE)开发应用程序的升级过程。这个过程涉及到几个关键的技术点,包括批量创建、读取、更新和删除(CRUD)...

Global site tag (gtag.js) - Google Analytics