By Administrator Updated: Sunday, 22 April 2012 17:27
Programmatic access to JSF managed bean
Programmatic access to
JSF
managed bean
According to the context ther is several ways to access a managed bean. We will describe some of them
Our backing bean used in our samples will be
@ManagedBean(name="userBB")
@SessionScoped
public class UserBB {
....
}
With Faces Context
FacesContext context = FacesContext.getCurrentInstance();
UserBB userBB= (Bean) context.getApplication().evaluateExpressionGet(context, "#{userBB}", UserBB.class);
Using
JSF 2 annotation
@ManagedProperty("#{userBB}")
private UserBB userBB;
public UserBB getUserBB() {
return userBB;
}
public void setUserBB(UserBB userBB) {
this.userBB = userBB;
}
Managed bean Servlet
According to the bean scope the api used should be adapted
Application scoped
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response){
UserBB managedBean = (UserBB) getServletContext().getAttribute("userBB");
}
Session scoped
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response){
UserBB managedBean = (UserBB) request.getSession().getAttribute("userBB");
}
Request scoped
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response){
UserBB managedBean = (UserBB) request.getAttribute("userBB");
}
CDI (Context and Dependency Injection)
@Inject
private UserBB userBB;
Related� resources
Tags:
bean
,
access
,
request
,
managed
,
managedbean
,
@override
,
protected
,
(bean)
,
mybackingbean
,
scoped
,
programmatic
,
httpservletresponse
Add comment