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

Invalid action generated by the form tag

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 2.3.24
    • 2.3.28, 2.5
    • Core Actions, Value Stack
    • 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

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

        Issue Links

          Activity

            People

              lukaszlenart Lukasz Lenart
              vanackda David Vanacker
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: