问题标签 [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.
java-ee-6 - JavaEE6 Conversation.end 不会将 conversation.id 重置为 1
调用conversation.end时是否没有重置conversation.id?
场景:我有一个在 CRUD 中使用对话范围的应用程序,所以当我访问列表页面时,它会开始对话。转到详细信息并单击返回将调用结束对话并再次开始对话。但是当我处于调试模式时,我发现当调用 conversation.end() 时,会话设置为空。然后当我重新调用 conversation.begin() 时,conversation.id 不会重置为 1,而是最后一个值 + 1。这样做是否正确?
更令人费解的是,注销并再次登录后,conversation.id 取最后一个值+1。
我的环境:使用 javaee-api 的 Jboss 7.1.3。
所以基本上我有一个由所有支持bean扩展的基本实体(上面定义了上面的代码。)。呈现列表页面时,它将调用 beginConversation。在详细页面点击返回按钮将调用 endConversation。
ajax - 如何将 @ConversationScoped 与 Ajax 请求一起使用?
我正在使用 JSF2 和 PrimeFaces,每次我发出 Ajax 请求并检查电流conversation
是否是瞬态的,它不是并且开始新的对话。
当我禁用 Ajax 请求时,表单会自动传递cid
并恢复对话,但当是 Ajax 请求时,cid
不会自动传递。
cid
使用 Ajax 请求时如何正确传递@ConversationScoped
?为什么这个参数没有自动传递?
jsf-2 - WELD-000321 当我刷新页面时,找不到要恢复 id 3 的对话
刷新对话期间显示的页面时出现错误。如何避免这个错误?
情况:
我有 2 个 JSF 页面,index.xhtml 和 age.xhtml。
index.xhtml 包含用户输入生日的表单(支持 bean“bean”的属性)。当用户提交表单时,age.xhtml 根据生日显示年龄。
表单通过重定向提交:
计算年龄方法:
两个页面都使用相同的支持 bean“bean”。这个支持 bean 有一个对话范围。
页面年龄.xhtml:
getAge 方法:
一切都很好,除非我刷新age.xhtml。然后我收到此错误消息:WELD-000321 No conversation found to restore for id 3
刷新前后浏览器显示的URL:
http://localhost:8080/tpjsf1/faces/age.xhtml?cid=3
问题来自最后的 cid=3 。用户刷新age.xhtml时是否可以避免错误页面?
jakarta-ee - GlassFish 3、Java EE 上的声明式对话管理
我在我的一个应用程序中依赖@ConversationScoped EntityManagers。
但是,我现在需要从对话(Timer EJB)之外访问所说的 EntityManagers。我读了一篇关于如何编写一个拦截器的教程,如果不存在,它会打开一个新的对话 - 42 行教程
现在,当我尝试设置示例时,我得到了异常,即@Bound @Inject BoundConversationContext 没有目标。
老实说,我不知道问题可能是什么,也不知道我往哪个方向看。
我目前正在使用:
GlassFish 3
Java EE 6
jsf - 带有 CDI 对话范围 bean 的 JSF 在弹出窗口中继续覆盖
我正在使用带有 jsf 的 cdi 对话范围 bean,在我的 jsf 页面中我打开了一个弹出窗口,并且我想使用与父窗口相同的对话 ID。
我怎样才能做到这一点?当我打开弹出窗口并输入 bean 时,它是一个新的 bean,所以对话不存在。我希望新窗口使用相同的对话。可以创建这个吗?如何将此对话传递到新页面?
提前致谢。
tapestry - Tapestry 4.1 会话范围。可能的?
是否有可能在 Tapestry 4.1 和 Hivemind 中使用对话范围?
现在,如果用户在两个不同的选项卡中打开相同的页面,那么他们使用由 Hivemind 注入的相同模型。因此,如果他在第一页提交了一些数据,那么实际上他会更改在第二个选项卡中打开(加载)的数据。
Tapestry 组件似乎也在会话范围内。因为您不能在不同选项卡的同一页面上使用某些组件。如果你提交的东西你会得到这样的错误
org.apache.tapestry.BindingException: Unable to update OGNL expression '' of #some_page:
target is null for setProperty(null,.......
解决方案?
jsf - 如何为 NonexistentConversationException 配置错误页面位置?
?cid=XX
我需要帮助处理URL 中的过期/不存在的对话。我试图把
然而这些都不起作用。我仍然收到错误消息,无法转发index.xhtml
。我怎么解决这个问题?
jsf - 对话范围不适用于重定向
我正在使用 JSF 和 PrettyFaces,我需要做下一件事。我在 ui:repeat 中生成了 4 个按钮。每个 commandButton 在对话 Bean 中设置一个对象,然后我必须导航到另一个页面并获取在单击的按钮中设置的对象。看起来很简单,但问题是我需要在浏览器中使用 PrettyFaces 友好的 URL。
完成的测试:
如果我将 xhtml 资源作为字符串放在 return commandbutton 操作中,则正确导航但 URL 指向 xhtml 资源,而不是漂亮的友好 URL。(例如:...host/my-web/prices.xhtml)
如果我将友好 URL 作为字符串 (/web/prices/) 放在返回命令按钮操作中,则不会导航。
如果我按如下方式进行重定向:
/li>
它正确导航到友好的 URL,但对话不起作用,因为在我重定向之前,我设置了在 commandbutton 操作中接收的对象,并且当在对话 bean 中导航该对象时为空。
知道如何解决吗?
提前致谢。
java - 如何从过滤器中获取 ConversationScoped CDI bean?
@SessionScoped
从 Filter 中获取CDI bean相对容易。但是尝试注入@ConversationScoped
bean 会引发以下错误:
这与对话当前是否处于活动状态无关。似乎 CDI 无法确定应该使用瞬态对话还是活动对话,因为我的过滤器发生在为@ConversationScoped
bean 提供上下文之前。
可以使用哪种过滤器/拦截机制“足够晚”发生?
jsf-2 - @ConversationScope bean 不保留引用值
我正在尝试实现 Twitter 登录过程。在登录过程中,用户需要被重定向到 Twitter 网站以输入他/她的凭据,然后他/她将被重定向到我的网站 URL。在第一次重定向之前,应在请求之间存储和保留 RequestToken 对象(Twitter4J 库)的实例。
为此,我决定使用 ConverstaionScoped bean,但不幸的是,请求之间没有保留引用的值。
这是我的 JSF 页面:
推特.xhtml:
twitterRedirect.xhtml:
我的 Twitter 登录控制器:
在我看来,我正在密切关注使用 @ConverstaionScope 的示例,但我没有得到预期的结果。我应该怎么做才能在请求之间保留对象?