sâmbătă, 14 februarie 2015

JSF 2.3 will support @Inject for more artifacts

Just a quick note to let you know that starting with JSF 2.3 we could inject even more JSF artifacts than in JSF 2.2. It will be cool to inject UIViewRoot, ExternalContext, FacesContext ViewMapApplicationMap, etc. So, instead of doing this:

@Named
@RequestScoped
public class MyBean implements Serializable {

 public void someAction() {

  // JSF 2.2
  FacesContext jsf_fc = FacesContext.getCurrentInstance();
  ExternalContext jsf_ec = FacesContext.getCurrentInstance().getExternalContext();
  UIViewRoot jsf_uivr = FacesContext.getCurrentInstance().getViewRoot();

  // OmniFaces 2
  FacesContext omni_fc = Faces.getContext();
  ExternalContext omni_ec = Faces.getExternalContext();
  UIViewRoot omni_uivr = Faces.getViewRoot();
 }
 
}

we will do this:

@Named
@RequestScoped
public class MyBean implements Serializable {

 @Inject
 FacesContext fc;
 @Inject
 ExternalContext ec;
 @Inject
 UIViewRoot uivr;

 public void someAction() {
  // use fc, ec, uivr
 }

}

Niciun comentariu:

Trimiteți un comentariu