JSTL conditional check

核能气质少年 提交于 2019-12-02 20:44:40

You can have multiple conditions in a test.

<c:if test="${salesData != null && fn:length(salesBundle.salesArea) > 0}">
    <input type="text" id="sales_area" class="salesManagerStyle">
</c:if>

But you can also use the empty keyword to do both a nullcheck and lengthcheck.

<c:if test="${not empty salesData.salesArea}">
    <input type="text" id="sales_area" class="salesManagerStyle">
</c:if>

That's the best what you can get, now. If you need to reuse the same condition elsewhere in the page, then you could also save it by <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>

I try to put as little logic as possible in my web pages,

"The interface tier is relatively free of application processing; windows or web pages forward task request to middle tier" Graig Larman, Applying UML and Patterns third Edition page 575 - Information Systems: The classic Three-tier architecture.

Also do the control/validation at the client level before persisting the data...but I guess if it is legacy and web pages are the only things you can touch ...this makes sens

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!