EL:empty的用法,JSTL

使用到jsp設計頁面時,EL表達式是少不了的,有時候需要判斷一個對象或一個數組是否爲空,可以使用empty。

例如:有一個list數組,判斷它是否有值,可以使用<c:if test="${empty list}">數組爲空</c:if> <c:if test="${!empty list}">數組不爲空</c:if>

對於對象的判斷也是如此。

 

百度了一下相關文檔還說明

empty用來對一個空變量值進行判斷: null、一個空String、空數組、空Map、沒有條目的Collection集合

這種方式的判斷就比jstl的<c:if test="${fn:length(list)==0}">數組爲空</c:if> 這種好用多了,也好記。


JSTL 入門: 表達式語言https://www.ibm.com/developerworks/cn/java/j-jstl0211/

EL 擅長尋找對象及其特性,然後對它們執行簡單操作;它不是編程語言,甚至不是腳本編制語言。但是,與 JSTL 標記一起使用時,它就能使用簡單而又方便的符號來表示複雜的行爲。EL 表達式的格式是這樣的:用美元符號($)定界,內容包括在花括號({})中,如清單 3 所示。


----------------------------------------------------------------------------------------------------

http://stackoverflow.com/questions/2811626/evaluate-empty-or-null-jstl-c-tags


You can use the <c:if> or <c:choose> for this.

<code style="margin: 0px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif; white-space: inherit; background: rgb(238, 238, 238);"><span class="tag" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;"><c:if</span><span class="pln" style="color: rgb(0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;"> </span><span class="atn" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">test</span><span class="pun" style="color: rgb(0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">=</span><span class="atv" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">"${empty var1}"</span><span class="tag" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">></span><span class="pln" style="color: rgb(0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">
    var1 is empty or null.
</span><span class="tag" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;"></c:if></span><span class="pln" style="color: rgb(0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">
</span><span class="tag" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;"><c:if</span><span class="pln" style="color: rgb(0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;"> </span><span class="atn" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">test</span><span class="pun" style="color: rgb(0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">=</span><span class="atv" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">"${not empty var1}"</span><span class="tag" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">></span><span class="pln" style="color: rgb(0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">
    var1 is NOT empty or null.
</span><span class="tag" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;"></c:if></span></code>

or

<code style="margin: 0px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif; white-space: inherit; background: rgb(238, 238, 238);"><span class="tag" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;"><c:choose></span><span class="pln" style="color: rgb(0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">
    </span><span class="tag" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;"><c:when</span><span class="pln" style="color: rgb(0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;"> </span><span class="atn" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">test</span><span class="pun" style="color: rgb(0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">=</span><span class="atv" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">"${empty var1}"</span><span class="tag" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">></span><span class="pln" style="color: rgb(0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">
        var1 is empty or null.
    </span><span class="tag" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;"></c:when></span><span class="pln" style="color: rgb(0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">
    </span><span class="tag" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;"><c:otherwise></span><span class="pln" style="color: rgb(0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">
        var1 is NOT empty or null.
    </span><span class="tag" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;"></c:otherwise></span><span class="pln" style="color: rgb(0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;">
</span><span class="tag" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background: transparent;"></c:choose></span></code><div class="save_code tracking-ad" data-mod="popu_249" style="position: absolute; width: 105px; height: 60px; right: 30px; top: 5px; font-size: 14px; color: rgb(255, 255, 255); cursor: pointer; z-index: 2;">
</div>

The ${not empty var1} can also be done by ${!empty var1}.

To learn more about those ${} things (the Expression Language, which is a separate subject fromJSTL), check here.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章