Java 将现有的IF测试包含在另一个测试中
我的jsp页面中有一些代码如下所示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
<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中没有一个匹配,则将执行该值。