2009-05-12 12 views
216

के साथ संग्रह आकार की जांच करें मैं जेएसटीएल के साथ संग्रह का आकार कैसे देख सकता हूं?जेएसटीएल

कुछ की तरह:

<c:if test="${companies.size() > 0}"> 

</c:if> 

उत्तर

392

से: http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/fn/tld-summary.html

लंबाई (java.lang.Object) - रिटर्न एक संग्रह में आइटम्स की संख्या, या एक में वर्णों की संख्या स्ट्रिंग।

पेज के शीर्ष पर इस डाल fn नाम स्थान अनुमति देने के लिए:

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 

और अपने jsp पेज में इस तरह का उपयोग करें:

<p>The length of the companies collection is : ${fn:length(companies)}</p> 

तो एक की लंबाई के साथ परीक्षण करने के लिए संग्रह:

<c:if test="${fn:length(companies) gt 0}"> 
    <p>It is greater than 0</p> 
</c:if> 

के उपयोग पर ध्यान दें > के बजाय > के बजाय जेएसपी/जेएसएफ टैग के अंदर अनुमति नहीं है।

+45

बस ध्यान दें कि यदि आकार पाने के लिए की जरूरत है निर्धारित करने के लिए है अगर संग्रह गैर खाली तो है चाहता था:

यहाँ है कि आप अपने कंपनियों वर्ग में जोड़ना चाहिए getSize विधि के लिए एक उदाहरण है "खाली" ऑपरेटर उपयोगी है क्योंकि यह शून्य के लिए भी जांचता है। – Joel

+18

+1। इसका उपयोग इस तरह करें

+0

मैं यहां मार्क से सहमत हूं। एक टैग के लिए अपने पृष्ठ में अधिक क्रूर क्यों आयात करें? मार्क के समाधान का प्रयोग करें, यह क्लीनर है। – ResourceReaper

10

आप आकार की जांच करने के लिए इस

${fn:length(numList)} 
-2

उपयोग ${fn:length(companies) > 0} की तरह उपयोग कर सकते हैं। यह एक बूलियन

26

रिटर्न पहले टिप्पणी में @Joel और @Mark Chorley ने सुझाव दिया के रूप में:

${empty companies} 

अशक्त और खाली सूचियों/संग्रह/सरणियों के लिए यह जाँच करता है। यह आपको लंबाई नहीं देता है लेकिन यह ओपी में उदाहरण को संतुष्ट करता है। यदि आप इससे दूर हो सकते हैं तो यह एक टैग लाइब्रेरी आयात करने और gt जैसे क्रिस्टी सिंटैक्स आयात करने से बस क्लीनर है।

-2

अपने JSTL बयान के लिए काम करने के लिए है, तो आप करने के लिए इसे बदलने के लिए होगा:

<c:if test="${companies.size > 0}"></c:if> 

यह आप कंपनियों वर्ग जो आकार देता है पूर्णांक के रूप में getSize कहा जाता है के लिए एक विधि जोड़ने के लिए के लिए। और उसके बाद बस उसी जेएसटीएल कथन का उपयोग करें जिसका आपने पहले उपयोग किया है।

public int getSize(){ 
    return companies.size(); 
} 
संबंधित मुद्दे