I'm hoping someone could tell me why the following happens:

My UIComponent is 'bound' to a property on a managed bean, which is also a
PhaseListener. In any (all) phases, I call myUIComponent.setRendered(false).
When the appropriate view is first requested (via commandLink), the
component is rendered. The component is not rendered on all subsequent
requests. 

Alternatively, rather than "binding" the component, if I implement a
"rendered" property in the managed bean, and set renderProp to false from my
phase listener, the component will not be rendered on the initial request
(the desired functionality). 

So why would the second approach work and not the first? I would prefer to
use the first approach because the component in question is a tabbed pane
and I would like to dynamically render child tabs. Using findComponent on
the 'parent' tabbed bean would be a more extensible approach to working with
the set of tabs, rather than providing "rendered" properties for all tabs.

(Just talking to myself now... I wonder if I can bind all the tabs to the
same renderProperty and return a value appropriate to the calling tab.)

Thanks for any input.
Ben

Reply via email to