无法获得jstl变量在inclued jsp
问题描述:
我试图哟创建一个步骤的形式。在这个步骤中,所有这些div都必须具有不同的ID,以便当用户单击下一个按钮时允许我调用下一个ID。 这里是我的主要代码:无法获得jstl变量在inclued jsp
<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
变量,帮我给不同势ID到这些div,我triyng通过它传递到使用这个变量传递到下一个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}"/>