我需要获取ThemeDisplay对象,以便可以访问控制器中的页面URL。
我正在尝试以下代码,但它给出了空指针异常
@RenderMapping
public String showItems(ModelMap model, RenderResponse response, RenderRequest request)
{
ThemeDisplay themeDisplay = (ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
Layout layout = themeDisplay.getLayout();
String uri = layout.getFriendlyURL();
return "home";
}
我已经尝试打印WebKeys.THEME_DISPLAY的请求属性,但是在我的请求中该属性为null。
我在pom.xml中添加了以下依赖项
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-service</artifactId>
<version>6.1.2</version>
</dependency>
谢谢。
最佳答案
我为我的问题找到了解决方案:)
我添加了所提供的portlet-service jar的作用域,它对我有用。
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-service</artifactId>
<version>6.2.0-B1</version>
<scope>provided</scope>
</dependency>
希望这对将来有帮助。