支持Ajax的JSF框架中不必要的会话bean
我注意到,当使用像Richfaces这样的Ajax密集型JSF1.2实现时,不知何故,您不得不声明更多的托管bean作为会话范围,以便在多个Ajax请求之间维护状态;有些组件将停止工作 例如,我最近开发了这个应用程序,为了让组件“x”工作,我必须将几乎所有JSF支持bean声明为会话范围。有没有办法解决这个问题,你认为这是一个糟糕的做法,还是仅仅是在JSF 1.2中启用AJAX启用组件的代价?支持Ajax的JSF框架中不必要的会话bean,jsf,richfaces,session-state,Jsf,Richfaces,Session State,我注意到,当使用像Richfaces这样的Ajax密集型JSF1.2实现时,不知何故,您不得不声明更多的托管bean作为会话范围,以便在多个Ajax请求之间维护状态;有些组件将停止工作 例如,我最近开发了这个应用程序,为了让组件“x”工作,我必须将几乎所有JSF支持bean声明为会话范围。有没有办法解决这个问题,你认为这是一个糟糕的做法,还是仅仅是在JSF 1.2中启用AJAX启用组件的代价? 提前感谢。会话范围bean会增加内存使用 另一个可用的作用域是视图作用域——这允许在请求之间保持bea
提前感谢。会话范围bean会增加内存使用 另一个可用的作用域是视图作用域——这允许在请求之间保持bean的状态,而用户仍然在同一个视图上 如果使用jsf2,请考虑在bean名称上方使用<代码> @检视范围< /> >:
@ViewScope
public class myBean{
..
}
如果使用ReaveFACS和JSF1.2,请考虑使用<代码>
< P>另一个选项是使用SEAM会话。而且,我不会说组件停止工作了,它们仍然工作。。需要在服务器上维护某种状态的是您的逻辑<a4j:keepAlive beanName = "#{myBean}"/>