调用conversation.end时是否没有重置conversation.id?
场景:我有一个在 CRUD 中使用对话范围的应用程序,所以当我访问列表页面时,它会开始对话。转到详细信息并单击返回将调用结束对话并再次开始对话。但是当我处于调试模式时,我发现当调用 conversation.end() 时,会话设置为空。然后当我重新调用 conversation.begin() 时,conversation.id 不会重置为 1,而是最后一个值 + 1。这样做是否正确?
更令人费解的是,注销并再次登录后,conversation.id 取最后一个值+1。
我的环境:使用 javaee-api 的 Jboss 7.1.3。
protected void beginConversation() {
if (conversation.isTransient()) {
conversation.begin();
}
}
protected void endConversation() {
if (!conversation.isTransient()) {
conversation.end();
}
}
所以基本上我有一个由所有支持bean扩展的基本实体(上面定义了上面的代码。)。呈现列表页面时,它将调用 beginConversation。在详细页面点击返回按钮将调用 endConversation。