我在XPage中有一个viewpanel,其搜索值“Search in Search Results”设置为一个名为queryString的sessionScope变量。 它是用以下公式设定的......
var tmpArray = new Array("");
var cTerms = 0;
if (sessionScope.SearchTourArea != null && sessionScope.SearchTourArea != "") {
tmpArray[cTerms++] = "(Field TourArea = \"" + sessionScope.SearchTourArea + "\")";
}
if (sessionScope.SearchTourRegion != null && sessionScope.SearchTourRegion != "") {
tmpArray[cTerms++] = "(Field TourRegion = \"" + sessionScope.SearchTourRegion + "\")";
}
qstring = tmpArray.join(" AND ").trim();
sessionScope.queryString = qstring;
return "Query = " + sessionScope.queryString
在视图中,在“搜索搜索结果”中,我使用公式;
return sessionScope.queryString;
这一切都有效,并返回正确的结果,但我的问题是它似乎记住了这个sessionScope变量,所以如果我包含以下代码,它将打开页面,说“找到了适合你选择的34个游览”当我还没有设置搜索条件时。
if (getComponent("viewPanel1").getRowCount() == 0){
return "Sorry, we dont yet have any Tours for this combination. Please change some of your choices"
} else {
return getComponent("viewPanel1").getRowCount() + " tours found that suit your choice"
}
我很茫然。我想我需要做的就是将sessionScope变量重置为“”,但似乎无法做到。
提前感谢,
答案 0 :(得分:0)
sessionScope变量在整个会话中保存,因此一旦设置,它将被重用,除非更改。您可以改为使用viewScope变量。