JSF’de Bean’lar olmazsa olmazlardır. Bazı durumlarda java sınıflarından (uzantısı java olan dosyalardan) herhangi bir bean’ın mevcut metod ve değerlerine erişmek gerekebilir. Önceleri bu erişim createValueBinding metodu ile yapılırken, bu metodun deprecated (onun işini yapacak yeni bir sınıf oluşturulmasından) olmasında dolayı bean’lara sınıflar içinden erişim createValueExpression ile yapılmaktadır. Aşağıda her iki şekilde erişime ait java kodları yer almaktadır.
createValueBinding ile Erişim Örneği
FacesContext facesContext = FacesContext.getCurrentInstance();
Application application = facesContext.getApplication();
BeanName beanName = (BeanName) application.createValueBinding("#{accForm}").getValue(facesContext);
System.out.println(beanName.getDeger());
createValueExpression ile Erişim Örneği
FacesContext facesContext = FacesContext.getCurrentInstance();
ExpressionFactory expressionFactory = facesContext.getApplication().getExpressionFactory();
ValueExpression ve = expressionFactory.createValueExpression(facesContext.getELContext(), "#{accForm}", AccountInformation.class);
BeanName beanName = (BeanName)ve.getValue(facesContext.getELContext());
System.out.println(beanName.getDeger());