我想在用户离开页面时清除会话变量。 我有一个表单,我在其中显示基于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处理会话。
答案 0 :(得分:0)
为什么不将范围保持为视图?您的数据仅保存到用户在页面上,并在用户离开页面时清除。