相关疑难解决方法(0)

为什么JSF会在服务器上保存UI组件的状态?

  1. 直到在什么时间点不JSF UI保存组件的状态在服务器端和什么时候被删除的UI组件的状态信息从服务器内存?当应用程序中的登录用户浏览页面时,组件的状态是否会继续在服务器上累积?

  2. 我不明白在服务器上保持UI组件状态有什么好处?是不是直接将经过验证/转换的数据传递给托管bean?我可以或者应该尽量避免它吗?

  3. 如果有数千个并发用户会话,那么在服务器端是否会消耗太多内存?我有一个应用程序,用户可以在某些主题上发布博客.这个博客的规模非常大.当有回复或请求查看博客时,这些大页面数据是否会被保存为组件状态的一部分? 这会耗费太多记忆.这不是一个问题吗?


更新1:

现在,在使用JSF时不再需要保存状态.可以使用高性能无状态JSF实现.有关详细信息和讨论,请参阅此博客此问题.此外,JSF规范中还包含一个未解决的问题,即为JSF提供无状态模式的选项.(PS考虑的问题投票这个这个,如果这对你是一个非常有用的功能.)


更新2(24-02-2013):

一个好消息,Mojarra 2.1.19无状态模式!

看这里:

http://weblogs.java.net/blog/mriem/archive/2013/02/08/jsf-going-stateless?force=255

http://java.net/jira/browse/JAVASERVERFACES-2731

http://balusc.blogspot.de/2013/02/stateless-jsf.html

java jsf java-ee state-saving

103
推荐指数
1
解决办法
5万
查看次数

关于UI组件状态和阶段的几个问题

经历了这些优秀的帖子:

为什么JSF会在服务器上保存UI组件的状态?

为什么JSF保存组件树状态?

在JavaEE6教程的中途,我仍然有以下问题:

  1. 当我开发一个自定义UI组件,其值(styleClass,value等)是静态定义的(在xhtml中)或通过bean设置时,我是否还需要在扩展组件中显式保存/恢复状态?
  2. 说UI组件的范围是视图作用域是否正确?
  3. 视图如何识别行为?(如果我离开视图,视图将在下一次重建.但是如果我打开另一个选项卡,它将被恢复 - 至少是bean!)
  4. 当我执行Ajax调用时,我希望UI组件的"执行"部分将被恢复和处理,并且"渲染"部分将被恢复和更新.在遇到UI的一些问题之后:重复,不清楚组件树的恢复范围以及是否可以部分编辑.作为一个例子(我不确定它是这样工作的):我定义了一个UI:重复迭代某些值并创建一些Ajax命令链接.每当我调用该命令时,无论我定义的Ajax范围(执行/渲染)如何,它都将恢复整个ui:repeat.所以它将重新渲染整个ui:重复.此外,我不明白它是如何永远不能恢复ui:repeat因为它是一个命名容器,它将编辑我新添加的组件的id.
  5. 如何定义构建时组件(vs渲染时)以及为什么要这样做?(与渲染时混合似乎构建时间组件很麻烦,为什么两者都有)

谢谢

jsf jsf-2

0
推荐指数
1
解决办法
1268
查看次数

标签 统计

jsf ×2

java ×1

java-ee ×1

jsf-2 ×1

state-saving ×1