[
https://issues.apache.org/struts/browse/WW-2726?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44420#action_44420
]
Paul Benedict commented on WW-2726:
-----------------------------------
I spent today trying alternative solutions, but I don't think I can find a
better way than throwing an Exception. The fact is even with planned
refactoring of FilterDispatcher to make things easier, there is no systematic
way of triggering the redirect elsewhere.
> FilterDispatcher: Catch RedirectException to issue 30x code
> -----------------------------------------------------------
>
> Key: WW-2726
> URL: https://issues.apache.org/struts/browse/WW-2726
> Project: Struts 2
> Issue Type: Improvement
> Components: Dispatch Filter
> Reporter: Paul Benedict
>
> When creating my own implementation of ActionMapper, I have no way to tell
> the FilterDispatcher to redirect to a different page. I am creating an alias
> in effect.
> Here's what is going on:
> 1. I invoke the superclass to match an action mapping. if found, return.
> 2. Match again adding "/index.action" to the servlet path. if found, return.
> 3. Match again adding "index.action" (no slash) to the servlet path. if
> found, return.
> Aside from the obvious inefficiencies to be resolve, it should be plain what
> my intent is. I am executing the index action for a directory path, but
> there's no good way to get #3 to issue a redirect. URIs ending in /foo should
> become /foo/ in the browser.
> Therefore, I pull a page from the Tapestry book. You can throw a
> RedirectException with a path and a temporary/permanent flag to set the
> correct HTTP status.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.