<% int z = 0;
int count = 3
do { %><% z++;} <c:if test="${not empty array[z]}">
<td width="50%" height="15px">${array[z]}</td>
</c:if> while (z < count);%>
我尝试像这样编码(硬编码,用0代替z),它会显示记录。
<% int z = 0;
int count = 3
do { %><% z++;} <c:if test="${not empty array[0]}">
<td width="50%" height="15px">${array[0]}</td>
</c:if> while (0 < count);%>
或许你们可以指导我如何让它读取z值,但不能只读它为z。抱歉我的英语不好。
答案 0 :(得分:0)
假设你的标签正确,请尝试在Java代码中进行测试,并且只有在这样的情况下才渲染单元格:
<%
int z = 0;
int count = 3;
do {
z++;
if( array[z] != null ) { //you might have to do additional checks here
%>
<td width="50%" height="15px"><%=array[z]%></td>
<%
}
}
while (z < count);
%>
或者您可以尝试使用${not empty array[<%=z%>]}
等,但由于我们很少使用scriptlet,因此我不确定。
作为第二种选择,尝试使用更清洁的<c:forEach>
恕我直言:
<c:forEach var="z" begin="1" end="${count}">
<c:if test="${not empty array[z]}">
<td width="50%" height="15px">${array[z]}</td>
</c:if>
</c:forEach>
答案 1 :(得分:0)
尝试以下方法:
<% int z = 0;
int count = 3
do {
if (!array.isEmpty()) {
%>
<td width="50%" height="15px"><%=array[z]%></td>
<%while(z < count)%>
答案 2 :(得分:0)
使用c:set为变量z或将其设置为pageContext
<%
int z = 0;
int count = 3
do {
z++;
pageContext.setAttribute("z", z);
%>
<c:if test="${not empty array[z]}">
<td width="50%" height="15px">${array[z]}</td>
</c:if>
<%}while (z < count);
%>