1 回答

TA貢獻1847條經驗 獲得超7個贊
RENDER_PHASE您可以通過以下兩種方式之一獲取導致調用 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();
-或者-
import com.liferay.portal.kernel.util.PortalUtil;
...
String portalURL = PortalUtil.getCurrentURL(renderRequest);
但是,我不建議檢查 URL 的字符串表示形式。Portlet API 的設計方式使得javax.portlet.RenderURL調用 Portlet 生命周期的可以是特定于供應商的實現細節。例如,來自 Liferay 的呈現 URL 將不同于來自 Apache Pluto 的呈現 URL。相反,鼓勵 Portlet 開發人員使用 Portlet API 的特性來獲取請求參數、屬性等的值。
也許您可以在您的問題中添加一些詳細信息,準確描述您所關注的 URL 的哪個方面。
添加回答
舉報