[
https://issues.apache.org/jira/browse/WW-3381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Philipp Leusmann updated WW-3381:
---------------------------------
Component/s: (was: Core Actions)
Plugin - SiteMesh
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>
was:
The current support for the empty action extension is somehow strange.
This is a copy of my comment on the related issue, but I decided to open a new
issue, to have any chance of getting attention:
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 this issue.
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>
Priority: Critical (was: Major)
Remaining Estimate: 8h
Original Estimate: 8h
Summary: Suport for decorating static content (was: Better
support for "empty extension actions")
> Suport for decorating static content
> ------------------------------------
>
> Key: WW-3381
> URL: https://issues.apache.org/jira/browse/WW-3381
> Project: Struts 2
> Issue Type: Improvement
> Components: Plugin - SiteMesh
> Affects Versions: 2.1.8
> Reporter: Philipp Leusmann
> Priority: Critical
> Original Estimate: 8h
> Remaining Estimate: 8h
>
> 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>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.