You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Leonardo Uribe (Resolved) (JIRA)" <de...@myfaces.apache.org> on 2011/10/07 20:28:30 UTC

[jira] [Resolved] (MYFACES-3313) Calculation of redirect URL does not preserve the extension used in Faces Servlet mapping

     [ https://issues.apache.org/jira/browse/MYFACES-3313?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Leonardo Uribe resolved MYFACES-3313.
-------------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.4
                   2.0.10
         Assignee: Leonardo Uribe
    
> Calculation of redirect URL does not preserve the extension used in Faces Servlet mapping
> -----------------------------------------------------------------------------------------
>
>                 Key: MYFACES-3313
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3313
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.1.2, 2.1.3
>            Reporter: Deryk Sinotte
>            Assignee: Leonardo Uribe
>             Fix For: 2.0.10, 2.1.4
>
>
> I have a simple navigation test case that does a navigation between two pages.  Both pages have the same simple markup:
>   <h:body>
>     <h2>Page 01</h2>
>     <h:form>
>       <h:commandButton id="navButton" 
>                        value="Nav"
>                        action="#{testBean.lastPage}" />
>     </h:form>
>   </h:body>
> The backing bean methods simply return the appropriate action outcome:
>     public String lastPage(){
>         return "lastPage";
>     }
> And the faces-config file has the following navigation rules:
>     <navigation-rule>
>         <from-view-id>*</from-view-id>
>         <navigation-case>
>             <from-outcome>lastPage</from-outcome>
>             <to-view-id>/page02.jsf</to-view-id>
>             <redirect/>
>         </navigation-case>
>         <navigation-case>
>             <from-outcome>firstPage</from-outcome>
>             <to-view-id>/page01.jsf</to-view-id>
>             <redirect/>
>         </navigation-case>
>     </navigation-rule>
> The web.xml has a servlet mapping for .jsf files:
>     <servlet-mapping>
>         <servlet-name>Faces Servlet</servlet-name>
>         <url-pattern>*.jsf</url-pattern>
>     </servlet-mapping>
> If I go to the page01.jsf, the page loads fine.  When I click the "Nav" button, the navigation occurs but the URL is page02.xhtml rather than page02.jsf.  Because the extension is not preserved and there is no mapping for .xhtml in this case, the page doesn't get handled by the Faces Servlet.  The current version of Mojarra (2.1.3) does preserve the extension when the redirect URL is encoded.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira