无法在include jsp中获取jstl变量

时间:2017-10-16 10:03:10

标签: javascript jsp jstl jspinclude

我正在尝试创建一个步骤表单。在此步骤中,所有这些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,并且我可以通过将此变量传递给下一个div来传递给下一个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}的值。那我怎么能得到这个价值呢?

1 个答案:

答案 0 :(得分:1)

你可以用它来修复它:

<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}"/>