Details
-
Improvement
-
Status: Closed
-
Critical
-
Resolution: Not A Problem
-
2.1.8
-
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
- is part of
-
WW-2163 Support actions with no extensions, including directory urls
- Closed