Java JSF-t:saveState x@ConversationScope

Java JSF-t:saveState x@ConversationScope,java,jsf,jsf-2,tomahawk,conversation-scope,Java,Jsf,Jsf 2,Tomahawk,Conversation Scope,关于在不使用会话的情况下临时保存JSF应用程序的状态: 另一种方法是使用apachetomahawk库的t:saveState;另一个较新的选择是使用CDI@ConversationScope t:saveState x@ConversationScope 每种方法的优点和缺点是什么?您会使用哪一种?为什么? 关于内存消耗(会话消耗的空间和时间),@ConversationScope是否更好 无状态JSF x t:saveState 在JSF2.2上,可能会运行无状态。由于组件树不再持久化,t:

关于在不使用会话的情况下临时保存JSF应用程序的状态:

另一种方法是使用apachetomahawk库的t:saveState;另一个较新的选择是使用CDI@ConversationScope

t:saveState x@ConversationScope
每种方法的优点和缺点是什么?您会使用哪一种?为什么?
关于内存消耗(会话消耗的空间和时间),@ConversationScope是否更好

无状态JSF x t:saveState
在JSF2.2上,可能会运行无状态。由于组件树不再持久化,t:saveState将无法工作。对吗

我有一个应用程序正在从JSF1.2迁移到JSF2.x。它有许多使用t:saveStave的视图。
当前会话大小变得太大。这主要是会话复制的问题

是否值得将t:saveState替换为@ConversationScope


更新:大多数out用例都是flow(如向导)。因此,@ViewScope无法应用

关于在不使用会话的情况下临时保存JSF应用程序的状态:

另一种方法是使用apachetomahawk库的t:saveState;另一个较新的选择是使用CDI@ConversationScope

来自旧的JSF 1.x时代,对于这些应用程序,应该继续使用它
@ConversationScope
来自CDI 1.0,用于延长JSF bean和组件在多个请求中的状态寿命,并使用一个在请求中传递的标识符

使用JSF2的最佳选择是,因为JSF2.2应该与CDI1.1兼容

如果您打算将JSF2.0.x或2.1.x与CDI1.0一起使用,那么您将无法使用
@ViewScoped
。为了解决这个问题,有一些第三方库允许查看由CDI管理的JSFbean的范围

是否值得将t:saveState替换为@ConversationScope

因为您要迁移到JSF2.x,所以必须停止使用
。根据JSF2.x版本的不同,您应该使用
@ViewScope
或其替代版本。我不建议使用
@ConversationScope
,除非您希望/需要通过几个视图(如在实现流时)保持bean的活力,但是JSF2.2也通过使用来解决这个问题

更多信息:

关于在不使用会话的情况下临时保存JSF应用程序的状态:

另一种方法是使用apachetomahawk库的t:saveState;另一个较新的选择是使用CDI@ConversationScope

来自旧的JSF 1.x时代,对于这些应用程序,应该继续使用它
@ConversationScope
来自CDI 1.0,用于延长JSF bean和组件在多个请求中的状态寿命,并使用一个在请求中传递的标识符

使用JSF2的最佳选择是,因为JSF2.2应该与CDI1.1兼容

如果您打算将JSF2.0.x或2.1.x与CDI1.0一起使用,那么您将无法使用
@ViewScoped
。为了解决这个问题,有一些第三方库允许查看由CDI管理的JSFbean的范围

是否值得将t:saveState替换为@ConversationScope

因为您要迁移到JSF2.x,所以必须停止使用
。根据JSF2.x版本的不同,您应该使用
@ViewScope
或其替代版本。我不建议使用
@ConversationScope
,除非您希望/需要通过几个视图(如在实现流时)保持bean的活力,但是JSF2.2也通过使用来解决这个问题

更多信息:


你好。在JSF2上仍然可以使用t:saveState,但尽管如此,最好还是放弃它,对吧?!对不起,我以前没有说过,但我们的用例实际上是一个向导(或流)。在这种情况下,可以使用ConversationScope吗?!你知道它的内存消耗吗?提前感谢。@RicardoSilva如果您使用的是JSF 2.2,请使用
@FlowScoped
,它适用于向导。如果您坚持使用JSF2.0或2.1,请使用
@ConversationScoped
.Hi。在JSF2上仍然可以使用t:saveState,但尽管如此,最好还是放弃它,对吧?!对不起,我以前没有说过,但我们的用例实际上是一个向导(或流)。在这种情况下,可以使用ConversationScope吗?!你知道它的内存消耗吗?提前感谢。@RicardoSilva如果您使用的是JSF 2.2,请使用
@FlowScoped
,它适用于向导。如果您坚持使用JSF2.0或2.1,请使用
@ConversationScoped