无法在包含的 jsp 中获取 jstl 变量
Can't get jstl variable in inclued jsp
我正在尝试创建一个步骤表单。在此步骤中,所有这些 divs 必须具有不同的 ID,以允许我在用户单击下一步按钮时调用下一个。
这是我的主要代码:
<c:set var="cpt" value="" />
<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="" />
<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}"/>
我正在尝试创建一个步骤表单。在此步骤中,所有这些 divs 必须具有不同的 ID,以允许我在用户单击下一步按钮时调用下一个。 这是我的主要代码:
<c:set var="cpt" value="" />
<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="" />
<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}"/>