我的jsp页面中有一些看起来像这样的代码
<div class="navalt"><table style="width:100%;"><tbody><tr>
<c:if test="${param.page > 0}">
<c:url var="back" value="index.jsp">
<c:param name="page" value="${pageVal - 1}"/>
<c:param name="name" value="${param.name}"/>
</c:url>
<td class="leftTd"><a class="menu_link" href="${back}"><b>Back </b></a></td>
</c:if>
<c:if test="${not empty more}">
<c:url var="forward" value="index.jsp">
<c:param name="page" value="${pageVal+1}"/>
<c:param name="name" value="${param.name}"/>
</c:url>
<td class="rightTd"><a class="menu_link" href="${forward}"><b>Next</b></a></td>
</c:if>
</tr></tbody></table></div>
问题是当两个条件都不满足时,即清空更多而param.page为0,那么我最终会得到冗余的html。
我尝试将两者封装在另一个测试中,但它没有按预期工作。
修订代码
c:if test="${empty more && empty param.page || param.page == 0)}">
<div class="navalt"><table style="width:100%;"><tbody><tr>
<c:if test="${param.page > 0}">
<c:url var="back" value="index.jsp">
<c:param name="page" value="${pageVal - 1}"/>
<c:param name="name" value="${param.name}"/>
</c:url>
<td class="leftTd"><a class="menu_link" href="${back}"><b>Back </b></a></td>
</c:if>
<c:if test="${not empty more}">
<c:url var="forward" value="index.jsp">
<c:param name="page" value="${pageVal+1}"/>
<c:param name="name" value="${param.name}"/>
</c:url>
<td class="rightTd"><a class="menu_link" href="${forward}"><b>Next</b></a></td>
</c:if>
</tr></tbody></table></div>
</c:if>
有什么建议吗?