FacesContext的一点经验

FacesContext的一点经验

JSF 的FacesContext 在使用中遇到这样的一个问题,就是向FacesContext中加入的FacesMessages只有第一次能够显示出来,第二次没有办法显示。经多次试验,最终发现是我自己在基类中写的getFacesContext()方法有问题。

我是这样写的:

private FacesContext facesContext;
public FacesContext getFacesContext() {
if (this.facesContext==null)
this.facesContext =FacesContext.getCurrentInstance();
return FacesContext.getCurrentInstance();
}
然后在子类中直接调用这个方法就可以得到FacesContext了。

想法是好的,但是并没有仔细了解FacesContext的实现。

其实FacesContext.getCurrentInstance()就已经能够每调用的时候都在上下广得到同一个实例了。不必再象我这样写了。反而会画蛇添足。

改成这样就可以了。


public FacesContext getFacesContext() {
return FacesContext.getCurrentInstance();
}


Technorati : facesContext

你可能感兴趣的:(FacesContext的一点经验)