按下链接时设置JSTL会话变量

时间:2013-04-01 18:08:42

标签: java jquery jsp url struts2

我正在尝试创建一个切换按钮,当按下时会重新加载与当前布尔值相反的页面。

<s:url action="mainMenuLabelToggle" var="mainMenuToggle"></s:url> 
<a href="${mainMenuToggle}" onclick="<s:set var ="LabelToggle" value
="!#session.LabelToggle" scope="session"/>"> view without labels </a> 
<br>

这是我尝试过的当前解决方案,但遗憾的是它不起作用。它似乎在每个页面加载而不是onclick上运行变量声明,因为我认为首先编译JSP部分。还有其他可能的解决方案吗?谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

onclick="toggleLabel();"

<script type="text/javascript">
  function toggleLabel(){
    $.ajax("<s:url action='mainMenuLabelToggle'/>");
    document.location.reload(true);
  }
</script>

在动作类

boolean labelToggle = session.get("labelToggle");
session.put(!labelToggle);