javascript - 无法在包含的jsp中获取jSTL变量

标签 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通过将其传递给 javascript 函数。

这是我包含的另一个 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}"/>

关于javascript - 无法在包含的jsp中获取jSTL变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46767677/

相关文章:

javascript - 尝试在 octobercms 中创建可打印的网页

javascript - 在 jquery ui 自动完成上显示提示?

javascript - 需要密码/密码短语才能使用 Wordpress 查看类别内容

java - 如何上传根文件夹中的图像?

java - 如何使用jasper从jsp生成pdf格式的报告

java - 如何在 JSTL 中将一个字符串与另一个字符串分开

java - 为什么 JSTL 数字格式值不支持运行时表达式?

java - c 内的双引号 :set (JSTL)

javascript - 在ReactJs中删除Json的一些对象

java Servlet Filter 基于位置的设置