You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2012/07/21 15:49:58 UTC
svn commit: r1364095 -
/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java
Author: lukaszlenart
Date: Sat Jul 21 13:49:58 2012
New Revision: 1364095
URL: http://svn.apache.org/viewvc?rev=1364095&view=rev
Log:
WW-3448 add support for query string in forms
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java?rev=1364095&r1=1364094&r2=1364095&view=diff
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java Sat Jul 21 13:49:58 2012
@@ -145,6 +145,13 @@ public class ServletUrlRenderer implemen
}
}
+ Map actionParams = null;
+ if (action != null && action.indexOf("?") > 0) {
+ String queryString = action.substring(action.indexOf("?") + 1);
+ actionParams = urlHelper.parseQueryString(queryString, false);
+ action = action.substring(0, action.indexOf("?"));
+ }
+
ActionMapping nameMapping = actionMapper.getMappingFromActionName(action);
String actionName = nameMapping.getName();
String actionMethod = nameMapping.getMethod();
@@ -155,7 +162,7 @@ public class ServletUrlRenderer implemen
ActionMapping mapping = new ActionMapping(actionName, namespace, actionMethod, formComponent.parameters);
String result = urlHelper.buildUrl(formComponent.actionMapper.getUriFromActionMapping(mapping),
- formComponent.request, formComponent.response, null, null, formComponent.includeContext, true);
+ formComponent.request, formComponent.response, actionParams, null, formComponent.includeContext, true);
formComponent.addParameter("action", result);
// let's try to get the actual action class and name