[
https://issues.apache.org/jira/browse/WW-4187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13756605#comment-13756605
]
Lukasz Lenart commented on WW-4187:
-----------------------------------
Probably that was changed to support {{action:}} and {{method:}} prefixes. I
think it can be changed to allow dynamically define the list of protocols in
result configuration:
{code:xml}
<action name="gatherReportInfo" class="...">
<result name="showReportResult" type="redirect">
<param name="location">generateReport.jsp</param>
<param name="namespace">/genReport</param>
<param name="urls">http,mailto,myapp</param>
</result>
</action>
{code}
wdyt?
> ServletRedirectResult only works with a limited set of hardcoded URL protocols
> ------------------------------------------------------------------------------
>
> Key: WW-4187
> URL: https://issues.apache.org/jira/browse/WW-4187
> Project: Struts 2
> Issue Type: Bug
> Affects Versions: 2.3.7, 2.3.8, 2.3.12, 2.3.14, 2.3.14.1, 2.3.14.2,
> 2.3.14.3, 2.3.15.1
> Reporter: Michiel Toneman
>
> The isPathUrl(String url) implementation was changed from:
> return (url.indexOf(':') == -1);
> to:
> return !url.startsWith("http:")
> && !url.startsWith("https:")
> && !url.startsWith("mailto:")
> && !url.startsWith("file:")
> && !url.startsWith("ftp:");
> This breaks integrations which require a redirect in (e.g.) a mobile app for
> iOS which often use custom protocols such as myapp://
> There are also numerous valid / common protocols which are not in this list.
> The result of this change is that redirects to such URLs are treated as local
> redirects (paths), rather than absolute redirects.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira