用户离开页面时清除会话变量

时间:2012-12-05 11:28:06

标签: javascript spring jsf session primefaces

我想在用户离开页面时清除会话变量。 我有一个表单,我在其中显示基于h:selectOneMenu中所选值的数据表。 表单有一个取消按钮,用于调用用于清除会话变量的destroy方法。 一切正常。

问题描述: 我正在调用一个在onunload事件下调用的javascript函数。 此函数单击隐藏按钮'destroyBtn'。该按钮依次调用destroy()方法。 调用destroy方法并清除值但页面导航停止 当我点击表格或后退按钮外的任何链接时。我正在使用@Component和@Scope(“session”)。

function destroy(){
alert("Inside Destroy");
document.getElementById('MainForm:destroyBtn').click();
}


<h:commandButton id="destroyBtn" styleClass="none" value="Destroy" ajax="false"
 actionListener="#{TutorialsBean.destroy}" />




public void destroy(){
this.searchTxt="";
this.accessType.clear();
this.roleCart.clear();
this.manager = null;
this.helpList.clear();
this.setComment("");
}

任何帮助都将不胜感激。有任何其他方式可以使用JSF和Spring处理会话。

1 个答案:

答案 0 :(得分:0)

为什么不将范围保持为视图?您的数据仅保存到用户在页面上,并在用户离开页面时清除。