2012-10-05 34 views
1

我正在开发一个包含多页面模板的移动应用程序,使用jQuery Mobile和Spring MVC。我有一个包含锚链接的jsp;每当我点击链接Pagebeforechange事件被调用并执行一个jQuery函数。我从函数中的链接获得了一个id,并将其存储在一个jQuery变量中。现在我想重复使用jst变量中的值,该变量可用于核心标记库中的jstl if标记。我如何使用该值?这是我的JSP:如何在jsp中的session/request/application中存储jQuery变量?

<div data-role="page" data-theme="m" id="menu"> 
    <c:import url="/headerPage.jsp"></c:import> 
    <div data-role="content"> 
     <ul data-role="listview" data-theme="h" data-inset="true"> 
     <c:forEach items="${items}" var="item"> 
      <li>**<a href="#submenu1?id=${item.id}">**${item.name}</a></li> 
     </c:forEach> 
    </ul> 
     </div> 
    <c:import url="footerPage.jsp"></c:import> 
</div> 

    <div data-role="page" data-theme="m" id="submenu"> 
     <c:import url="/headerPage.jsp"></c:import> 
     <div data-role="content"> 

      <c:set var="**testID**" scope="session" value="<div id='**result**'></div>"></c:set> // here testID value printed 1st time but if I print value in 2nd time gives nothing 

      <ul data-role="listview" data-theme="h" data-inset="true"> 

      <c:forEach items="${items}" var="item"> 

         <c:if test="${menu.key eq **testID**}"> // here testID is not working 
        <li><a href="#submenu2">${item.name}</a></li> 
         </c:if>  
      </c:forEach> 
     </ul> 
      </div> 
     <c:import url="footerPage.jsp"></c:import> 
    </div> 

    <script type="text/javascript"> 

     $(document).bind("pagebeforechange",function(e, data) { 

     if (typeof data.toPage === "string") { 
       var u = $.mobile.path.parseUrl(data.toPage), re2 = /^#submenu1/; 
       var categoryName = u.hash.replace(/.*id=/, ""); // how to store categoryName in session and use it later in <c:if> tag in jsp. 
       var pageSelector = u.hash.replace(/\?.*$/, ""); 

       jQuery('#**result**').text(categoryName); 

      $.mobile.changePage($page, options); 
     } 
    } 
    </script> 
+2

您可以使用jQuery做一个服务器请求,并存储有什么需要存储的服务器端。 – 2012-10-05 07:27:31

回答

0

我不知道你需要做什么,但我看到关键字jQuery,变量,存储和会话。

如果你想要一个方法来存储页面范围的变量,你可以使用$ .cookie()。

https://github.com/carhartl/jquery-cookie