আমি কীভাবে জেএসটিএল দিয়ে সংগ্রহের আকার চেক করতে পারি?
কিছুটা এইরকম:
<c:if test="${companies.size() > 0}">
</c:if>
আমি কীভাবে জেএসটিএল দিয়ে সংগ্রহের আকার চেক করতে পারি?
কিছুটা এইরকম:
<c:if test="${companies.size() > 0}">
</c:if>
উত্তর:
<c:if test="${companies.size() > 0}">
</c:if>
এই বাক্য গঠনটি কেবল EL 2.2 বা আরও নতুন (সার্ভলেট 3.0 / জেএসপি 2.2 বা আরও নতুন) এ কাজ করে। যদি আপনি কোনও এক্সএমএল পার্সিং ত্রুটির মুখোমুখি হন কারণ আপনি জেএসপি এর পরিবর্তে জেএসপিএক্স বা ফেসলেট ব্যবহার করছেন, তবে gt
পরিবর্তে ব্যবহার করুন >
।
<c:if test="${companies.size() gt 0}">
</c:if>
আপনি যদি সত্যিই কোনও এল পার্সিং ত্রুটির মুখোমুখি হন তবে আপনি সম্ভবত খুব পুরানো EL সংস্করণ ব্যবহার করছেন। আপনার fn:length()
তখন জেএসটিএল ফাংশন প্রয়োজন । ডকুমেন্টেশন থেকে :
দৈর্ঘ্য (java.lang.Object) - সংগ্রহের আইটেমের সংখ্যা, বা স্ট্রিংয়ের অক্ষরের সংখ্যা প্রদান করে।
নাম স্থানের অনুমতি দেওয়ার জন্য এটিকে JSP পৃষ্ঠার শীর্ষে রাখুন fn
:
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
বা আপনি যদি জেএসপিএক্স বা ফেসলেট ব্যবহার করছেন:
<... xmlns:fn="http://java.sun.com/jsp/jstl/functions">
এবং আপনার পৃষ্ঠায় এটি ব্যবহার করুন:
<p>The length of the companies collection is: ${fn:length(companies)}</p>
সুতরাং একটি সংগ্রহের দৈর্ঘ্যের সাথে পরীক্ষা করতে:
<c:if test="${fn:length(companies) gt 0}">
</c:if>
বিকল্পভাবে, এই নির্দিষ্ট ক্ষেত্রে আপনি কেবল EL empty
অপারেটরটি ব্যবহার করতে পারেন :
<c:if test="${not empty companies}">
</c:if>
পূর্ববর্তী মন্তব্যে @ জোয়েল এবং @ মার্ক চর্লি পরামর্শ দিয়েছেন:
${empty companies}
এই নাল এবং খালি তালিকা / সংগ্রহ / অ্যারে পরীক্ষা করে। এটি আপনাকে দৈর্ঘ্য দেয় না তবে এটি ওপিতে উদাহরণটি সন্তুষ্ট করে। আপনি এটি দিয়ে পার পেতে পারেন, তাহলে এই একটি ট্যাগ গ্রন্থাগার মত তার কর্কশ সিনট্যাক্স আমদানি চেয়ে মাত্র ক্লিনার gt
।
আপনি এটি ব্যবহার করতে পারেন
${fn:length(numList)}
${fn:length(companies) > 0}
আকার পরীক্ষা করতে ব্যবহার করুন । এটি একটি বুলিয়ান ফেরত দেয়