在当前页面上,我正在使用JSTL来检查表单中是否有数据。我面临的问题是“如果没有数据,我也不会看到文本字段”。我可以使用和标记来解决它,但这将需要大量的代码来遍及整个页面。谁能建议我一个更好,更清洁的解决方案?
<c:if test="${salesData!=null}"> <c:if test="${fn:length(salesBundle.salesArea) > 0}"> <input type="text" id="sales_area" class="salesManagerStyle"> </c:if> </c:if>
一个中可以有多个条件test。
test
<c:if test="${salesData != null && fn:length(salesBundle.salesArea) > 0}"> <input type="text" id="sales_area" class="salesManagerStyle"> </c:if>
但是,您也可以使用empty关键字 同时 执行nullcheck和lengthcheck。
empty
<c:if test="${not empty salesData.salesArea}"> <input type="text" id="sales_area" class="salesManagerStyle"> </c:if>
现在,这是您所能获得的最好的。如果您需要在页面其他地方 重用 相同的条件,则也可以通过保存它<c:set>。
<c:set>
<c:set var="hasSalesData" value="${not empty salesData.salesArea}" /> ... <c:if test="${hasSalesData}"> <input type="text" id="sales_area" class="salesManagerStyle"> </c:if> ... <c:if test="${hasSalesData}"> Foo </c:if>