当前位置: 首页 > 知识库问答 >
问题:

如何在jsp中的会话/请求/应用程序中存储jquery变量?

巫马刚洁
2023-03-14

我正在使用jQuery mobile和Spring MVC开发一个包含多页模板的移动应用程序。我有一个包含锚链接的jsp;每当我单击链接Pagebeforechange时,就会调用事件并执行jQuery函数。我从函数中的链接获得了一个id,并将其存储在jQuery变量中。现在我想重用jstliftag中jQuery变量的值,该值在核心标记库中可用。如何使用该值?这是我的jsp:

<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>

共有1个答案

汤嘉平
2023-03-14

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

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

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

 类似资料:
  • 代码: 试图从第一个Get请求中获取一个变量,并将该变量注入第二个请求中,但尽管使用了文档,还是无法实现。可能有些事我不明白。 当我使用断点并在流程中导航时,会话执行似乎发生在其他两个请求都已完成之后(此时已经太晚了)。似乎无法在两个请求之间执行会话。

  • 问题内容: 我知道使用该模块向URL发出GET请求的方法。最终,该代码仅在产生它的命令外壳中打印GET响应。 如何将这些GET响应存储在本地变量中,以便可以在程序中的其他地方使用它? 这是我使用的代码: 问题答案: 最简单的方法(但也有陷阱-见下文)是进入模块范围。 但是,这可能会导致错误。例如,您可能倾向于在致电之后。 由于异步,这将不起作用,因此它将在回调中设置之前返回控制。 创建事件发送器并

  • 问题内容: 我试图用来刮擦需要通过登录的网站。然后,一旦我登录,便可以通过访问一个单独的网页。 第一个问题,现在被登录。我试图使用到的登录信息,但我得到的回应没有出现在被记录。 在这里,我只是转发我返回的页面,但是返回的页面仍显示登录表单,如果尝试访问另一个页面,则表示我尚未登录。 我认为我需要维护客户端会话和cookie数据,但是找不到任何资源可以帮助我了解如何做到这一点。 作为后续,我最终使用

  • 我需要使用session来保留用户的选择。(如果用户选择的日期范围在数据刷新时返回到默认值)。 这是我的daterangepicker代码。请帮助我如何设置“开始”日期和“结束”日期的会话存储,以及如何从会话存储中检索它们。提前道谢。

  • 问题内容: 我正在寻找类似于Python的PHP的函数。我想访问像PHP这样的字典,运行该命令后即可使用。 问题答案: 让我来解决一些可能与您的问题有关的事情…可能与您无关,但是我认为其他人可能会遇到完全相同的问题,并且可能会从我的(有限的)经验中受益…因为我也一次有这个问题。 作为从PHP到Python(从不回头)的人,我认为了解会话如何在幕后工作很有用。除非您(a)想要通过实践来了解有关会话管