我有一个页面可以进行NotesDatabase搜索,当然还有一个集合。我将该集合存储在sessionScope变量中并调用一个页面,其中显示结果。
if ( collection1.getCount() == 0)
{
displayErrorMsg("Your search returned zero results. Please try another search.",getClientId("title"), "Zero Results");
}
else
{
sessionScope.put("searchResults",collection1);
var extCont = facesContext.getExternalContext();
extCont.redirect("xp_vwIssueSearchResults.xsp");
}
该页面有一个数据表,其中包含范围变量的内容,因为它是数据源:
sessionScope.get("searchResults");
当我调用此页面时,我得到了,NotesException:Object已被删除或回收。
我是否可以在sessionScope变量中传递NotesDocumentCollection?我对解决方法有一些想法,但传递NotesDocumentCollection肯定会很好。
答案 0 :(得分:3)
您不能将Notes对象(如视图,文档,集合)保留更长时间。通常,您应该以某种方式使用Notes对象,以便保存您在某处感兴趣的数据并立即回收(=销毁)Notes对象。原因是Domino服务器无法在两个请求之间为您保存Notes对象,因为Notes对象不可序列化(可序列化=能够将对象保存在磁盘上并将其还原回内存)。
在您的情况下,您可以保存
并在重定向的页面中使用它们。