在我当前的页面上,我使用JSTL检查数据是否可用于我的表单.我面临的问题是"如果没有数据,我也没有看到文本字段".我可以使用和标签来解决它,但这将需要很多if else else if all类型的代码贯穿整个页面.有谁能建议我更清洁解决这个问题?
<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>
Run Code Online (Sandbox Code Playgroud)
Bal*_*usC 17
您可以在a中拥有多个条件test
.
<c:if test="${salesData != null && fn:length(salesBundle.salesArea) > 0}">
<input type="text" id="sales_area" class="salesManagerStyle">
</c:if>
Run Code Online (Sandbox Code Playgroud)
但你也可以使用empty
关键字做既一个nullcheck和lengthcheck.
<c:if test="${not empty salesData.salesArea}">
<input type="text" id="sales_area" class="salesManagerStyle">
</c:if>
Run Code Online (Sandbox Code Playgroud)
现在,这是你能得到的最好的东西.如果您需要在页面的其他位置重复使用相同的条件,那么您也可以将其保存<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>
Run Code Online (Sandbox Code Playgroud)