[英]Can't get jstl variable in inclued jsp
我正在嘗試創建一個步驟表單。 在此步驟表單中,所有這些 div 必須具有不同的 ID,以便在用戶單擊下一步按鈕時調用下一個。 這是我的主要代碼:
<c:set var="cpt" value="${1}" />
<div class="row" style="border: 1px solid #f0f0f0;"
id="stepDiv-${cpt}">
<jsp:include page="Step1.jsp" />
</div>
<c:set var="cpt" value="${cpt + 1}" />
<div class="row" style="border: 1px solid #f0f0f0; display: none;"
id="stepDiv-${cpt}">
<jsp:include page="Step2.jsp" />
</div>
在這段代碼中, cpt
是一個JTSL
變量,它幫助我為這些 div 提供不同的 ID,我正在嘗試使用這個變量通過將它傳遞給一個 javascript 函數來傳遞給下一個 div。
這是我包含的另一個jsp:
Step1.jsp:
<button class="btn btn-round btn-info myBtn "
id="buttonNext-${cpt}"
onclick='next(${cpt})'>next</button>
Step2.jsp:
<button id="buttonNext-${cpt}" onclick='next(${cpt})'>next</button>
<button id="buttonPrevious-${cpt}" onclick='previous(${cpt})'>previous</button>
這是我的javascript 代碼:
function previous(i) {
document.getElementById("stepDiv-" + i).style.display = "none";
i--;
document.getElementById("stepDiv-" + i).style.display = "block";
document.getElementById("step-" + i).className += " active";
}
function next(i) {
document.getElementById("stepDiv-" + i).style.display = "none";
i++;
document.getElementById("stepDiv-" + i).style.display = "block";
document.getElementById("step-" + i).className += " active";
}
問題:問題是包含的 JSP 無法獲取${cpt}
的值。 那么我怎樣才能得到這個值呢?
你可以用這個來修復它:
<c:set var="cpt" value="${1}" />
<div class="row" style="border: 1px solid #f0f0f0;"
id="stepDiv-${cpt}">
<jsp:include page="Step1.jsp" <jsp:param
name="variable" value="${cpt}" /></jsp:include>
</div>
<c:set var="cpt" value="${cpt + 1}" />
<div class="row" style="border: 1px solid #f0f0f0; display: none;"
id="stepDiv-${cpt}">
<jsp:include page="Step2.jsp" <jsp:param
name="variable" value="${cpt}" /></jsp:include>
</div>
在你的jsp中使用:
<c:out value="${param.variable}"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.