Hi Ben,

on initial request the application phase is skipped, so your phase
listener is not invoked.

Try on render phase e.g just change 'return PhaseId.INVOKE_APPLICATION'
to 'return PhaseId.RENDER_RESPONSE' in your listener.


Regards,
  Volker


Neuman, Ben J., A&M IRM wrote:
> 
> Having a problem with <t:panelTabbedPane> rendering. I am trying to
> prohibit the rendering of select tabs based on certain
> criteria but rendered='false' tabs always display on initial page load.
> When I load the page a second time, the tabs are not rendered (as
> intended).
>  
>   I have a <h:commandLink> that calls an action on a managed bean.
>  
> <h:commandLink action='#{managedBean.showTabs}'>
>                     <h:outputText value='Go to tabs'/>   
> </h:commandLink> 
>  
> //managed bean method....
> public String showTabs() {
>         return "mytabs";
> }
>  
> Finally, I have a phase listener that wants to turn off rendering for
> certain tabs:
>  
>    public PhaseId getPhaseId() {
>         // I really have very little idea of the correct PhaseId to use
> here. (newbie)
>         return PhaseId.INVOKE_APPLICATION;
>     }
>  
>     public void beforePhase(PhaseEvent phaseEvent) {
>         prepareForResponse();
>     }
>  
>     public void afterPhase(PhaseEvent phaseEvent) {
>     }
>  
>     private void prepareForResponse() {
>         if (today.equals("Monday") {
>            
> tabsComponent.findComponent("content:HappyDayTab").setRendered(false);
>         }
>     }    
>     
> So, it all seems to work the second time I click the commandLink. But
> the HappyDayTab always shows up on initial click. What am I doing wrong
> here? I imagine it has something to do with my iignorance of the render
> response lifecycle. If not, is this a bug?
>  
> Thanks!
> Ben
> 
>    

-- 
Don't answer to From: address!
Mail to this account are droped if not recieved via mailinglist.
To contact me direct create the mail address by
concatenating my forename to my senders domain.

Reply via email to