jQuery Mobile と Spring MVC を使用して、マルチページ テンプレートを含むモバイル アプリケーションを開発しています。アンカー リンクを含む jsp があります。リンクをクリックするたびにPagebeforechange
イベントが呼び出され、jQuery 関数が実行されます。関数内のリンクから ID を取得し、jQuery 変数に格納します。if
ここで、コア タグ ライブラリで利用可能なjstl タグの 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>