জেএসটিএল-তে অন্য বিকল্প কীভাবে ব্যবহার করবেন


উত্তর:


521

হ্যাঁ, তবে এটি জাহান্নামের মতো উদার

<c:choose>
  <c:when test="${condition1}">
    ...
  </c:when>
  <c:when test="${condition2}">
    ...
  </c:when>
  <c:otherwise>
    ...
  </c:otherwise>
</c:choose>

5
মোড়কের ট্যাগটি বাদ দিয়ে (চয়ন করুন), / অন্যআইপি / অন্য যেভাবে হবে তার চেয়ে আমি দেখতে পাচ্ছি না যে এটি কীভাবে আরও ভার্বোস। একটি মোড়কের ট্যাগটি 'নরক হিসাবে আড়ম্বরপূর্ণভাবে' গঠন করে, না?
স্টিভেন বেনিতেজ

19
@ স্টিভেন: এটি এর এক্সএমএল প্রকৃতি। আসল যুক্তির চেয়ে বয়লারপ্লেটে আরও চরিত্র রয়েছে।
স্কাফম্যান

2
আহ, ঠিক আছে. একই জন্য এছাড়াও সেট করা যেতে পারে <c:if/>
স্টিভেন বেনিতেজ

15
আমি জানি আমি পার্টিতে কিছুটা দেরি করেছি, তবে <c:otherwise>মনে হচ্ছে কিছুটা ভার্জোজ, তাই না?
andronikus

6
যথাযথ ইনডেন্টেশন এবং নরক হিসাবে ছদ্মবেশী দিয়ে বাসা বাঁধতে শুরু করুন খুব বিবরণ মনে হবে seem
অ্যাডাম টলি

105

স্ক্যাফম্যান উত্তর ছাড়াও, সরল যদি-অন্যথায় আপনি টের্নারি অপারেটরটি এর মতো ব্যবহার করতে পারেন

<c:set value="34" var="num"/>
<c:out value="${num % 2 eq 0 ? 'even': 'odd'}"/>

6
এটি একটি ভাল উত্তর, তবে এটি কতটা কার্যকর হবে তার জন্য অত্যন্ত পরিস্থিতিগত।
মাইক এলপি

47

এখানে আর কিছু নেই, ঠিক যদি।

<c:if test="${user.age ge 40}">
 You are over the hill.
</c:if>

Ptionচ্ছিকভাবে আপনি পছন্দ-সময় ব্যবহার করতে পারেন:

<c:choose>
  <c:when test="${a boolean expr}">
    do something
  </c:when>
  <c:when test="${another boolean expr}">
    do something else
  </c:when>
  <c:otherwise>
    do this when nothing else is true
  </c:otherwise>
</c:choose>

হাই @ আইউক্সফার, আপনার উপরের লিঙ্কটি এখনই উপলভ্য নয়, দয়া করে আপডেট করুন, আপনি যদি ভাল স্কোর হিসাবে পারেন তবে অন্যভাবে এটি মুছে ফেলুন।
অজয় 2707

25

আমি কেবল দু'টি ট্যাগ ব্যবহার করে পালিয়ে গিয়েছিলাম, ভেবেছিলাম এটি অন্য কারও কাছে ব্যবহারের ক্ষেত্রে আমি একটি উত্তর যুক্ত করব:

<c:if test="${condition}">
  ...
</c:if>
<c:if test="${!condition}">
  ...
</c:if>

প্রযুক্তিগতভাবে if-elseপ্রতি সেন্ট পি না হওয়া সত্ত্বেও, আচরণটি একই রকম হয় এবং chooseট্যাগটি ব্যবহারের আড়ম্বরপূর্ণ পদ্ধতির বিষয়টি এড়িয়ে যায় , সুতরাং আপনার প্রয়োজনীয়তাটি কতটা জটিল তার উপর নির্ভর করে এটি পছন্দনীয় হতে পারে।


1
কেসটি বিবেচনা করুন যখন শর্তটি জটিল ও কুৎসিত কিছু যেমন $ m param.age gt 42 নয় এবং অন্যরকম একু ফুবার} এর মতো} আপনাকে শর্তটি একটি অস্থায়ী বুলিয়ান ভেরিয়েবলের মধ্যে সংরক্ষণ করতে হবে যাতে আপনি করতে পারেন! শর্তটি, বা সেই শর্তের বিপরীতটি লিখুন। দুটোই কুৎসিত। "অন্যথায়" সিনট্যাক্স একটি গ্যারান্টিযুক্ত বিপরীত।
ম্যাটটি

3
প্রকৃতপক্ষে একটি জটিল অবস্থার জন্য স্থানীয় ভেরিয়েবলের প্রয়োজন হবে বা বিপরীতটি লেখা হবে, তবে এই দুটি বিকল্প এখনও কাজ করবে। আমি স্পষ্ট করেছিলাম যে এই পদ্ধতির chooseট্যাগের চেয়ে পছন্দনীয় হবে কিনা তা কতটা জটিল তা নির্ভর করে depend
জানক

2
আমি এটার সাথে একমত. আপনার যদি আর একটি থাকে তবে এর কম মার্কআপ তবে সি ব্যবহার করে চয়ন করুন
javaMoca

1
<সি: থাকার পর আরও একটি অতিরিক্ত সুবিধা রয়েছে: যদি পরীক্ষা = "$ {শর্ত c == সত্য"> এবং <সি: যদি পরীক্ষা = "$ {শর্ত == মিথ্যা}"> থাকে। যখন ভেরিয়েবলটি নাল হয় (আরম্ভ করা হয় না), না কোনও শাখা কার্যকর করা হয় যা ভাল। আপনি <সি: চয়ন> এবং <সি: যখন> এর সাথে যান, ভেরিয়েবলটি শূন্য হলে মিথ্যা শাখা কার্যকর করা হবে।
স্টিভ স্টিলসন

3

আপনাকে এই কোডটি ব্যবহার করতে হবে:

সঙ্গে <%@ taglib prefix="c" uri="http://www.springframework.org/tags/form"%>

এবং

<c:select>
            <option value="RCV"
                ${records[0].getDirection() == 'RCV' ? 'selected="true"' : ''}>
                <spring:message code="dropdown.Incoming" text="dropdown.Incoming" />
            </option>
            <option value="SND"
                ${records[0].getDirection() == 'SND'? 'selected="true"' : ''}>
                <spring:message code="dropdown.Outgoing" text="dropdown.Outgoing" />
            </option>
        </c:select>

-1

সময় জটিলতার সম্ভাবনা অনুযায়ী এটি ভাল এবং দক্ষ পদ্ধতির। এটি একবার সত্যিকারের শর্তটি পেয়ে গেলে এটি এর পরে আর কোনওটি পরীক্ষা করে না। একাধিক যদি, এটি প্রতিটি এবং শর্ত পরীক্ষা করবে।

   <c:choose>
      <c:when test="${condtion1}">
        do something condtion1
      </c:when>
      <c:when test="${condtion2}">
        do something condtion2
      </c:when>
      ......
      ......
      ...... 
      .......

      <c:when test="${condtionN}">
        do something condtionn N
      </c:when>


      <c:otherwise>
        do this w
      </c:otherwise>
    </c:choose>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.