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

Suport for decorating static content

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Critical
    • Resolution: Not A Problem
    • 2.1.8
    • 2.3.1
    • Plugin - SiteMesh
    • None

    Description

      In my case this issue is occuring when trying to decorate static content with sitemesh, but it generally is more an struts-core ActionMapper issue.

      I was trying to decorate plain html files using the sitemesh-plugin.
      I expected it to work using the empty-string action mapper, and thus added a link to /decorated_html/foo.html . The reslut was an error page since all the variables in the template could not be resolved, due to a missing action.
      If org.apache.struts2.dispatcher.mapper.DefaultActionMapper.dropExtension(String, ActionMapping) would not return null for any url containing a dot but no slash and no supported action-extension after it, it would have worked.
      By looking at the tests, I found that the returned null was expected behaviour introduced for WW-2163.

      I think to resolve this issue it would have been better to promote more sofisticated filter mappings in the web.xml to avoid the empty action side effects described in a previous comment.

      In my case it would be sufficient to use filter mappings

      <filter-mapping>
      <filter-name>struts2-prepare</filter-name>
      <url-pattern>*.action</url-pattern>
      </filter-mapping>
      <filter-mapping>
      <filter-name>struts2-prepare</filter-name>
      <url-pattern>decorated_html/*</url-pattern>
      </filter-mapping>

      <filter-mapping>
      <filter-name>sitemesh-struts</filter-name>
      <url-pattern>/*</url-pattern>
      </filter-mapping>

      <filter-mapping>
      <filter-name>struts2-execute</filter-name>
      <url-pattern>*.action</url-pattern>
      </filter-mapping>
      <filter-mapping>
      <filter-name>struts2-execute</filter-name>
      <url-pattern>/decorated_html/*</url-pattern>
      </filter-mapping>

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            p.leusmann Philipp Leusmann
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 8h
                8h
                Remaining:
                Remaining Estimate - 8h
                8h
                Logged:
                Time Spent - Not Specified
                Not Specified

                Slack

                  Issue deployment