Uploaded image for project: 'Struts 2'
  1. Struts 2
  2. WW-4526

Invalid action generated by the form tag

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 2.3.24
    • Fix Version/s: 2.3.28, 2.5
    • Component/s: Core Actions, Value Stack
    • Labels:
      None
    • Flags:
      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

        1. struts2-form-url.zip
          40 kB
          David Vanacker

          Issue Links

            Activity

              People

              • Assignee:
                lukaszlenart Lukasz Lenart
                Reporter:
                vanackda David Vanacker
              • Votes:
                1 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: