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 (JIRA)" <de...@myfaces.apache.org> on 2011/01/11 22:32:45 UTC

[jira] Resolved: (MYFACES-3004) prerenderView system event callback only triggered in certain cases

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

Leonardo Uribe resolved MYFACES-3004.
-------------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.4-SNAPSHOT
         Assignee: Leonardo Uribe

> prerenderView system event callback only triggered in certain cases
> -------------------------------------------------------------------
>
>                 Key: MYFACES-3004
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3004
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.0.2, 2.0.3
>         Environment: all, server
>            Reporter: Werner Punz
>            Assignee: Leonardo Uribe
>             Fix For: 2.0.4-SNAPSHOT
>
>
> Following scenario, two pages with implicit navigation. A prerender view system event handler set over 
>   <h:head>
>         <title>Facelet Title</title>
>         <f:metadata>
>             <f:event listener="#{pageHandler.prerender}" type="preRenderView" />
>         </f:metadata>
>     </h:head>
> Now the prerender event is called:
> a) if I go via http get into the page
> b) If I execute actions which stay on the page
> The event handler however is not called
> if I navigate into the page via an implicit (maybe also explicit) navigation case.
> A quick test revealed that the event handler is called in three cases in mojarra and I assume our behavior is faulty
> and the behavior from mojarra is the one compliant to the spec.
> I am setting the priority to major because the prerenderview event is very important in certain app classes which use callbacks to this event
> to deal with auto display mechanisms and with data loading in certain app states.
> Here is the complete example:
> page1:
> <?xml version='1.0' encoding='UTF-8' ?>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml"
>       xmlns:h="http://java.sun.com/jsf/html"
>       xmlns:f="http://java.sun.com/jsf/core">
>     <h:head>
>         <title>Facelet Title</title>
>         <f:metadata>
>             <f:event listener="#{pageHandler.prerender}" type="preRenderView" />
>         </f:metadata>
>     </h:head>
>     <h:body>
>         <h:form>
>         Hello from Facelets
>         <h:commandLink action="page2" value="page2"/>
>         </h:form>
>     </h:body>
> </html>
> page2:
> <?xml version='1.0' encoding='UTF-8' ?>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml"
>       xmlns:h="http://java.sun.com/jsf/html">
>     <h:head>
>         <title>Facelet Title</title>
>     </h:head>
>     <h:body>
>         <h:form>
>             Hello from Facelets
>             <h:commandLink action="page1" value="go to page 1" />
>         </h:form>
>     </h:body>
> </html>
> and the corresponding bean:
> @ManagedBean
> @RequestScoped
> public class PageHandler {
>     public void prerender() {
>         System.out.println("Prerender View");
>     }
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.