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

Java 将现有的IF测试包含在另一个测试中,java,jsp,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

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

我试着在另一个if测试中包含这两个测试,但它没有正常工作

修订代码

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>
c:if test=“${empty more&&empty param.page | | param.page==0)}>

有什么建议吗?

试着用c:choose,c:when代替c:if。使用c:choose,您还可以指定一个“默认值”,当条件匹配时,如果您的c:when中没有一个匹配,则将执行该值。