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