簡體   English   中英

無法在包含的jsp中獲取jstl變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM