From e3b66874d6547f8688f712e8f3e5d9baeb33ee4f Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Fri, 1 Jun 2012 05:42:55 +0000 Subject: [PATCH] WW-3831 adds the same behaviour as in ServletUrlRenderer to render dynamic action in URL tag git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@1344990 13f79535-47bb-0310-9956-ffa450edef68 --- .../struts2/components/PortletUrlRenderer.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java b/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java index 34f2318d7..912a67044 100644 --- a/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java +++ b/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java @@ -94,17 +94,24 @@ public class PortletUrlRenderer implements UrlRenderer { String namespace = urlComponent.determineNamespace(urlComponent.getNamespace(), urlComponent.getStack(), urlComponent.getHttpServletRequest()); urlComponent.setNamespace(namespace); if (onlyActionSpecified(urlComponent)) { - result = portletUrlHelper.buildUrl(urlComponent.getAction(), urlComponent.getNamespace(), urlComponent.getMethod(), - urlComponent.getParameters(), urlComponent.getPortletUrlType(), urlComponent.getPortletMode(), urlComponent.getWindowState()); + if (StringUtils.isNotEmpty(urlComponent.getAction())) { + String action = urlComponent.findString(urlComponent.getAction()); + result = portletUrlHelper.buildUrl(action, urlComponent.getNamespace(), urlComponent.getMethod(), + urlComponent.getParameters(), urlComponent.getPortletUrlType(), urlComponent.getPortletMode(), urlComponent.getWindowState()); + } + else { + result = portletUrlHelper.buildUrl(urlComponent.getAction(), urlComponent.getNamespace(), urlComponent.getMethod(), + urlComponent.getParameters(), urlComponent.getPortletUrlType(), urlComponent.getPortletMode(), urlComponent.getWindowState()); + } } else if (onlyValueSpecified(urlComponent)) { result = portletUrlHelper.buildResourceUrl(urlComponent.getValue(), urlComponent.getParameters()); } else { result = createDefaultUrl(urlComponent); } } - final String anchor = urlComponent.getAnchor(); - if (anchor != null && anchor.length() > 0) { - result += '#' + anchor; + String anchor = urlComponent.getAnchor(); + if (StringUtils.isNotEmpty(anchor)) { + result += '#' + urlComponent.findString(anchor); } String var = urlComponent.getVar();