【问题标题】:Clearing the session variables when user leaves the page用户离开页面时清除会话变量
【发布时间】:2012-12-06 01:01:58
【问题描述】:

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

问题描述: 我正在调用一个在 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 处理会话。

【问题讨论】:

  • 您的按钮似乎没有调用destroy() 方法。什么是handleDestroy() 方法。是打字错误吗?
  • 这是一个打字错误 prageeth...

标签: javascript spring jsf session primefaces


【解决方案1】:

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

【讨论】:

  • 谢谢 Pavan,我知道这会有所帮助。但是有没有办法通过将范围保持为会话来清除变量?
  • 我尝试使用 View Scope。为此,我必须使用自定义范围功能将 jsf 的视图范围移植到 Spring。现在,当我离开页面时,变量会被清除。唯一的问题是我使用的按钮会打开一个新对话框,用户可以使用该对话框选择一个值它被添加到列表中。现在,打开对话框会创建一个新视图,我无法在父页面上保留值。
猜你喜欢
  • 1970-01-01
  • 2013-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-19
  • 2012-07-12
  • 1970-01-01
  • 2011-12-07
相关资源
最近更新 更多