ofbiz 登录时默认进入一个指定的模块

来源:互联网 发布:网络群体性事件有哪些 编辑:程序博客网 时间:2024/05/10 16:56

声明:此修改针对的是 ofbiz10.04 版本,如果因为版本不同导致修改后没有效果,本博客不负法律责任!

1、进入ofbiz项目,按组合键 Ctrl + Shift + R,快速查找 ControlServlet.java 文件

2、按 组合键 Ctrl + L,快速定位到 152 行,增加如下代码:

if (request.getAttribute("targetRequestUri") == null) {            if (request.getSession().getAttribute("_PREVIOUS_REQUEST_") != null) {                contextPath = "/myportal";    //当前设置默认登录模块为myportal,即 “我的门户”模块,如果想默认进入别的模块,改此处即可            }        }

3、当然,登录者需要有默认模块的访问权限方可登录,否则将报错:“发生了下面的错误:无法登录这个应用程序”!

只需以上三步即可实现 登录时默认进入一个指定的模块 之功能!

 

怎么,不太懂新增代码的含义,在下公务在身,不便久留,推荐一个博客供参考:

http://dagmom.iteye.com/blog/1625642

 


=================================================================================================



(#)还有一种情况是:当在地址栏中输入url: https://localhost:8443  让系统自动跳转到某一个指定的功能模块,如何实现?

在下经过了对ofbiz源码的深入剖析,发现还是有解决方案的!

现公布如下:

我们还是以 myportal 模块为例,找到加载 myportal 模块的XML: ofbiz-component.xml ,进入这个xml找到这句:

<webapp name="myportal" title="MyPortal" app-bar-display="true" base-permission="MYPORTALBASE"        server="default-server" location="webapp/myportal" mount-point="/myportal"/>

该句的主要是作用是为了加载当前模块!name:模块名;base-permission:是否有进入当前模块的权限;location:模块路径;mount-point:我理解的作用是,类似于<servlet-mapping>标签里的<url-pattern>,即页面请求url。

要完成上面(#)的情况,只需要在 ofbiz-component.xml 文件中追加一句:

<webapp name="myportal" title="MyPortal" app-bar-display="true" base-permission="MYPORTALBASE"        server="default-server" location="webapp/myportal" mount-point="/"/>

注意 和上面代码 只有属性:mount-point 值的区别,这样一来,我们在地址栏输入 https://localhost:8443 默认的会跳转到 myportal 模块 中,目的明确了!

 

本文系作者原创,如需转载,请附上原文链接:http://www.cnblogs.com/Ivan-j2ee/archive/2012/08/13/2636603.html

0 0
原创粉丝点击