如何获取路径上下文而不使用liferay中的themedisplay对象

son*_*nal 5 java liferay liferay-6

任何人都可以帮助我如何在没有themedisplay对象的情况下获取liferay中的路径上下文(在调度程序中的意思)

我正在使用liferay 6.1

rle*_*ndi 2

不幸的是,没有(简单的)方法可以做到这一点。

原因是ThemeDisplay对象与当前用户和当前页面绑定。在调度程序的上下文中(即系统本身自动触发的事件),没有当前登录的用户(好吧,您可以使用默认用户,但是......),并且没有显示页面。

然而,您可以做的是从其他地方提供所需的数据。您可以将其存储在自定义属性中、从数据库中读取或通过服务获取等等。PortalUtil.getPortalURL()例如,该功能可能是您的朋友。

否则,您需要请求对象来获取 ThemeDisplay