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

Reply via email to