[ 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