问题标签 [conversation-scope]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jsf - 带有对话的 JSF ViewState
我们在 IBM Websphere 8 上使用带有 Primefaces 的 JSF。我的问题是,如果我在 JSF 中有更多对话,ViewState 就会过期。如果用户处理两个会话并导航到许多页面,则视图状态的缓冲区(默认 20 个插槽)已满,并且另一个会话的视图状态将被删除。所以如果我回到第一次对话,viewState 就不存在了,我就不能再在这个对话上工作了。
是否可以在对话或任何其他解决方法中保存 ViewStates?将javax.faces.STATE_SAVING_METHOD设置为客户端并不是我认为的最佳解决方案。大幅增加org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION也不是一个真正好的解决方案,因为预计会有很多会话。
jsf - 等效于使用 CDI 对话范围的 ViewScope
是否有可能在每次加载页面时开始对话,并在我移出页面时结束对话。我如何使用 CDI 的对话范围像 View Scope 一样工作。我不想使用 seam-faces 或我的 faces Codi extensions 。我目前也没有切换到 JSF 2.2 的选项。
jsf - CDI 对话永无止境
在我的 JSF 项目中,我有一个多页向导。我正在@ConversationScoped
为该向导使用 CDI bean。对话效果很好。当用户来到向导的第一页时,新的对话就开始了。当用户单击任何页面中的提交按钮时,对话结束。但我有几个问题。
- 如果在向导的中间,用户在地址栏中输入了一个 url 并导航到另一个页面而没有单击提交按钮,我还有办法结束对话吗?
- 我应该为这种情况而烦恼,还是积累这种无休止的对话会成为我的应用程序的开销?
cdi - CDI(焊接)+ DeltaSpike + 转换
我目前正在尝试让 CDI(更准确地说是 Weld)与 JSF 2 和长期对话一起工作。我在 @ConversationScoped 我的支持 bean 中开始对话。我还在创建一个@ConversationScoped 实体管理器。遗憾的是,当 JSF 尝试编写 @ManyToMany 映射字段时,我在我的支持 bean 中编辑的实体总是得到一个LazyInitializationException 。似乎实体与实体管理器分离。在我的 EntityManagerProducer(见下文)中,在抛出 LazyInitializationException 之前,不会调用方法createEntityManager(),所以我假设 entitymanager 实际上是会话范围的。
据我所知,DeltaSpike 还没有提供任何东西来处理 JSF 中的长时间运行的对话。任何人都可以提出一种方法来说明如何使用 Weld + DeltaSpike(最好在带有weld-servlet 的 Tomcat 上)实现与 CDI 的长时间运行对话吗?
jsf - CDI 和“嵌套”对话
我一直在阅读 Java EE 6(以及 CDI 1.0)中的对话范围,以及它如何将数据与浏览器中的不同选项卡隔离开来,并在特定页面工作流的许多请求中保留数据。我那里没有问题。
在我的阅读中,我读到它的许多想法都来自 Seam。我经常看到诸如“但 CDI 的对话范围不进行“嵌套”对话”之类的警告。我不确定“嵌套”对话到底是什么?
我也读过这个很好的链接http://www.andygibson.net/blog/article/understanding-nested-conversations/
但我认为我错过了一些基本的东西。在这种情况下,我只是没有完全理解“嵌套”对话是什么。任何人都可以帮我把它弄糊涂吗?
cdi - 如何将 ConversationScope 与 vaadin 一起使用?
将 Vaadin 7.x 与 CDI 插件一起使用时,是否可以在 UI 或视图中使用对话范围(begin() 和 end() 对话?如果可以,我必须在哪里放置代码以避免副作用?
澄清:我在 JBoss EAP6.1 (7.2) 上,所以它的 JEE6 和 CDI1.0。
java - MyFaces CoDI - 对话/WindowContext
是否有可能在 MyFaces CoDI 中的对话或其上下文之间切换。我的具体用例是我想实现一种 CustomerBeans 的历史,包括一个 CustomerEntity。如果选择了其中一个条目,则应加载适当的对话/上下文。
我目前的实现是通过 JBoss Seam 2 实现的,并且可以切换对话。
Manager.instance().switchConversation(selectedConversation.getId());
谢谢!
cdi - 如何在 JSF2.2 应用程序中使用 CDI 对话过滤器
在我的 JSF 2.2 基础应用程序中,我创建了一个基于@ConversationScope
. 为了处理错误,我将 CDI 对话过滤器添加到我的web.xml
.
我的第一个问题是关于过滤器映射的正确 url 模式。我的向导在 url 后面运行/report/*
。如果我将此用作模式,则所有其他页面都会引发以下异常:
所以,我不得不使用“/*”作为模式,到目前为止效果很好。但现在,我想集成容器管理的安全性。请求受限资源时,在重定向到登录页面时会引发上述错误。
有谁知道,如何解决?
提前致谢。
spring - Springfuse 的对话范围
有没有人尝试过使用 Springfuse 的对话范围实现?JSF2 对话效果好吗?任何没有或遇到问题的用例?
在 Github 上浏览他们项目的链接已损坏,但如果您使用他们的主页生成 Primefaces、Spring 和 JPA 项目,对话代码就在那里。
jakarta-ee - 如何结束一个 CDI 会话并彻底销毁 CDI Bean 的所有变量?
我使用 JSF2.0 和 WELD-CDI 和 jboss AS7。我在 page-backbean 中使用 CDI@ConversiationScope。要转到一页,我使用的是菜单项。,如图:
在此菜单的操作中,调用以下方法开始对话,然后重定向到所需页面:
和faces-config.xml:
到目前为止,一切都很好。
但是如果我顺便再申请一次,在执行conversation.end()之后,仍然没有改变变量并且所有变量的值都保持不变。为什么?!
在执行“conversation.end()”之后,变量值没有被重置。为什么变量没有被重置?请帮帮我。