Author: lukaszlenart Date: Fri Jun 1 05:42:55 2012 New Revision: 1344990 URL: http://svn.apache.org/viewvc?rev=1344990&view=rev Log: WW-3831 adds the same behaviour as in ServletUrlRenderer to render dynamic action in URL tag
Modified: struts/struts2/trunk/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java Modified: struts/struts2/trunk/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java?rev=1344990&r1=1344989&r2=1344990&view=diff ============================================================================== --- struts/struts2/trunk/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java (original) +++ struts/struts2/trunk/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java Fri Jun 1 05:42:55 2012 @@ -94,17 +94,24 @@ public class PortletUrlRenderer implemen 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();