【分享】Jmix1.5.x 多个 menu.xml 文件的动态切换

纯分享,使用场景自己发掘,涉及到源码修改,普通的菜单切换还是通过显隐和权限来控制比较合适。

  1. io.jmix.ui.menu.MenuConfig类转换为接口
  2. 新建一个实现类 MenuConfigImpl,内容为原始 MenuConfig 类里的内容,确保原始功能正常
  3. 在项目里新建一个MenuConfig 实现类,继承 MenuConfigImpl
  4. 重写 checkInitialized()init() 两个方法,在 init() 里就可以动态的加载 menu.xml 文件了
  5. 项目实现类加上 @Primary 注解

还有其他不错的实现方式欢迎讨论。:clap:

2 个赞

谢谢分享!你的使用场景是怎样的呢?

一个基础系统,上面有不同的业务,对应不同的租户,直接在租户管理那里配置所拥有的菜单。现在还有个问题要处理的就是菜单在用户那里又被权限隔了一道