将现有的IF测试包含在另一个测试中

时间:2014-01-28 09:38:43

标签: java jsp

我的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>

有什么建议吗?

0 个答案:

没有答案