There is no difference between the two snippets of code: when you create
a ValueBinding you evaluate a whole EL. If you use the variable
resolver, you are resolving the left part of an EL. In your example the
EL #{projectBean} is exactly the left part of the EL.
There's difference only if you put a more complex EL in the first snippet.
Regards,
Pierpaolo
Dean Hiller wrote:
What is the different between the below snippets of code? Is is true
that they are exactly the same if projectBean is a managed bean? If
it is not a managed bean, then the first snippet would be creating a
runtime managed bean(one that was not declared in faces-config.xml).
ValueBinding bind =
FacesContext.getCurrentInstance().getApplication().createValueBinding("#{projectBean}");
ProjectBean projBean = (ProjectBean)bind.getValue(ctx);
Object obj =
FacesContext.getCurrentInstance().getApplication().getVariableResolver()
.resolveVariable(FacesContext.getCurrentInstance(),
"projectBean");
ProjectBean projBean = (ProjectBean)obj;
thanks,
dean
--
Pierpaolo Follia
Wave S.r.l. - Vai Benaco 24/B, Bedizzole (BS)
Telefono: +39 030 687561
Fax: +39 030 6875690