You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by Apache Wiki <wi...@apache.org> on 2006/01/17 02:48:03 UTC
[Myfaces Wiki] Update of "FAQ" by SimonKitching
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Myfaces Wiki" for change notification.
The following page has been changed by SimonKitching:
http://wiki.apache.org/myfaces/FAQ
The comment on the change is:
Moved longish info into its own TODO
------------------------------------------------------------------------------
=== How can I access one Managed Bean from another? ===
[#Bean permlink]
+ See AccessingOneManagedBeanFromAnother
- There are two ways for one managed bean to access another managed bean in the same webapp:
-
- ==== Using Dependency Injection ====
-
- In your project's faces configuration file which defines the managed beans, a managed bean
- property can be declared as initialised with a reference to another managed bean:
-
- {{{
- <managed-bean>
- <managed-bean-name>neededBean</managed-bean-name>
- <managed-bean-class>fqn.to.NeededBean</managed-bean-class>
- <managed-bean-scope>session</managed-bean-scope>
- </managed-bean>
-
- <managed-bean>
- <managed-bean-name>usingBean</managed-bean-name>
- <managed-bean-class>fqn.to.UsingBean</managed-bean-class>
- <managed-bean-scope>request</managed-bean-scope>
- <managed-property>
- <property-name>neededBean</property-name>
- <value>#{neededBean}</value>
- </managed-property>
- </managed-bean>
- }}}
-
- The constraints are that:
- * the using bean must have scope which is the same as or shorter than the needed bean
- * the using bean must have a property-setter method which takes the needed bean as a parameter
-
- ==== Using Lookup ====
-
- The following java code can be used to explicitly look up an arbitrary managed bean by name:
- {{{
- FacesContext facesContext = FacesContext.getCurrentInstance();
- NeededBean neededBean
- = (NeededBean) facesContext.getApplication()
- .getVariableResolver().resolveVariable(facesContext, "neededBean");
- }}}
- Alternately, you can use this code to evaluate any JSF EL expression.
- {{{
- FacesContext facesContext = FacesContext.getCurrentInstance();
- NeededBean neededBean
- = (NeededBean)facesContext.getApplication()
- .createValueBinding("#{neededBean}").getValue(facesContext);
- }}}
=== Handling forward references to components in JSP pages ===