Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
2.3.24
-
None
-
Patch
Description
Following the migration of Struts framework from 2.3.16.3 to 2.3.24, we detected that the action attribute of HTML tag Form generated with the Struts Form Tag contains an invalid scheme when the associated action class contains an accessor named getScheme().
The value of this accessor is retrieved in org.apache.struts2.components.ServletUrlRender#renderFormUrl() from the ValueStack.
ValueStack vs = ActionContext.getContext().getValueStack();
String scheme = vs.findString("scheme");
The attachement contains a sample that illustrate the issue.
Run simply the command mvn tomcat:run to execute it .
It contains also a "patch" that overrides de DefaultUrlHelper . It checks if the scheme is equals to a valid scheme (http/https) and calls the default implementation. In case of the scheme is not valid, it calls the default implementation with null argument for the scheme ( replaced by the HttpServletRequest#getScheme() in the default implementation).
Attachments
Attachments
Issue Links
- is broken by
-
WW-4024 Support expressions for scheme attribute in s:url
- Closed