任何人都可以帮助我如何在没有主题的对象的情况下在liferay中获得路径上下文(在调度程序中的手段)
我正在使用Liferay 6.1
不幸的是,没有(简单的)方法。
原因是 ThemeDisplay
对象与当前用户和当前页面绑定。在调度程序的上下文(即,系统本身进行的自动触发事件)中,没有登录的用户(好的,您可以使用默认用户,但是...),并且没有显示页面。p> 但是,您可以做的是,可以从其他地方提供所需的数据。您可以将其存储在自定义属性中,从数据库中阅读或通过服务获取它。例如,PortalUtil.getPortalURL()
功能可能是您的朋友。
否则,您需要请求对象才能获取主题。
使用公司ID
路径上下文 Company company = CompanyLocalServiceUtil.getCompanies().get(0);
String portalURL = PortalUtil.getPortalURL(company.getVirtualHostname(),PortalUtil.getPortalPort(), false);
String pathContext = PortalUtil.getPathContext();