Java 我如何知道调用portlet spring mvc liferay的@RenderMapping render()方法所导致的url?

Java 我如何知道调用portlet spring mvc liferay的@RenderMapping render()方法所导致的url?,java,spring,spring-mvc,liferay,portlet,Java,Spring,Spring Mvc,Liferay,Portlet,我有一个基于SpringMVC的portlet,内容是基于@RenderMapping方法返回的视图生成的。 是否有一个解决方案可以捕获导致portlet呈现的url。因为我使用的是一个向这个portlet返回字段的支付系统,我想在一个#jsp页面中显示它们,所以在本例中,我应该基于支付服务器返回的字段呈现另一个jsp 提前感谢您可以通过以下两种方式之一获取导致portlet生命周期的呈现阶段被调用的URL: import com.liferay.portal.kernel.theme.Them

我有一个基于SpringMVC的portlet,内容是基于@RenderMapping方法返回的视图生成的。 是否有一个解决方案可以捕获导致portlet呈现的url。因为我使用的是一个向这个portlet返回字段的支付系统,我想在一个#jsp页面中显示它们,所以在本例中,我应该基于支付服务器返回的字段呈现另一个jsp


提前感谢

您可以通过以下两种方式之一获取导致portlet生命周期的
呈现阶段
被调用的URL:

import com.liferay.portal.kernel.theme.ThemeDisplay;
import com.liferay.portal.kernel.util.WebKeys;
...
ThemeDisplay themeDisplay = (ThemeDisplay)renderRequest.getAttribute(WebKeys.THEME_DISPLAY);
String portalURL = themeDisplay.getPortalURL();
-或-

但是,我不建议检查URL的字符串表示形式。Portlet API的设计方式是,调用Portlet生命周期的
javax.Portlet.RenderURL
可以是特定于供应商的实现细节。例如,来自Liferay的呈现URL将不同于来自ApachePluto的呈现URL。相反,鼓励portlet开发人员使用portlet API的特性来获取请求参数、属性等的值

也许您可以在问题中添加一些细节,准确描述您关心的URL的哪些方面

import com.liferay.portal.kernel.util.PortalUtil;
...
String portalURL = PortalUtil.getCurrentURL(renderRequest);