Monkeyden, See [1]. This is from the front page of the wiki.
Alternatively, all managed beans can be accessed directly from the appropriate scope (i.e. request, session).
I found the following utility method (based on the wiki page) useful in my application:
/** * Look up a managed bean by JSP-EL value-binding expression * @param ref a value-binding expression to lookup * @return the managed bean referenced by the expression */ public static Object getManagedBean(String ref) { // Find or create the web-tier data object // ref like "#{myBean}" FacesContext context = FacesContext.getCurrentInstance(); ValueBinding binding = context.getApplication().createValueBinding(ref); return binding.getValue(context); } [1] http://wiki.apache.org/myfaces/AccessingOneManagedBeanFromAnother Regards, Jeff Bischoff Kenneth L Kurz & Associates, Inc. monkeyden wrote:
Im using a Tomahawk tabbedPane in my JSP <t:panelTabbedPane id="tabbedPane" bgcolor="#ffffff" width="650" serverSideTabSwitch="true" selectedIndex="#{myBackingBean.selectedTab}"> I want to implement a TabChangeListener, to set the "selectedTab" value of the backing bean. I don't need to change the view of the component at all, since that's handled automatically. I just need to know what the currently selected tab is. Looking at the hierarchy, there doesn't seem to be a way to get my backing bean instance from session to set the value. This is how I would expect this to be done. Please tell me if I'm way off base or not. processTabChange(TabChangeEvent tabChangeEvent){ MyBackingBean myBean = [get the bean somehow]; myBean.setSelectedTab(tabChangeEvent.getNewTabIndex()); }