JSTL conditional check

前端 未结 2 1033
借酒劲吻你
借酒劲吻你 2021-02-02 14:52

On my current page I am using JSTL to check if data is available for my form. Problem I am facing is \"if there is no data I am not seeing the text fields either\". I can solve

相关标签:
2条回答
  • 2021-02-02 15:27

    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

    0 讨论(0)
  • 2021-02-02 15:45

    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>
    
    0 讨论(0)
提交回复
热议问题