যদি… অন্যথায় জেএসপি বা জেএসটিএল এর মধ্যে


283

আমি জেএসপি ফাইলে কিছু শর্তের ভিত্তিতে কিছু এইচটিএমএল কোড আউটপুট দিতে চাই।

if (condition 1) {
    Some HTML code specific for condition 1
}
else if (condition 2) {
    Some HTML code specific for condition 2
}

আমি এটা কিভাবে করবো? আমার কি জেএসটিএল ব্যবহার করা উচিত?


1
এক্সম্প্ল্যাডপোটের কয়েকটি চমৎকার উদাহরণ রয়েছে। এক নজরে
পোট

উত্তর:


536

আমার কি জেএসটিএল ব্যবহার করা উচিত?

হ্যাঁ.

আপনি জেএসটিএল ব্যবহার করে জেএসপিতে শর্তাধীন রেন্ডারিং করতে ট্যাগ <c:if>এবং ব্যবহার করতে পারেন <c:choose>

অনুকরণ যদি , আপনি ব্যবহার করতে পারেন:

<c:if test="condition"></c:if>

অনুকরণ করতে যদি ... অন্যথায় , আপনি ব্যবহার করতে পারেন:

<c:choose>
    <c:when test="${param.enter=='1'}">
        pizza. 
        <br />
    </c:when>    
    <c:otherwise>
        pizzas. 
        <br />
    </c:otherwise>
</c:choose>

এর জন্য থেক্স ... আসলে আমি ইউআই দেব-তে আরও বেশি আছি ... সুতরাং জেএসটিএল সম্পর্কে খুব বেশি জ্ঞান নেই ... দয়া করে আপনি আমাকে জেএসটিএলের একটি অনুরূপ কার্যকারী উদাহরণ সরবরাহ করুন..আমার মানে
যদি..তিনি

উদাহরণস্বরূপ Thx .. আমার যে শর্তটি আছে তা আসলে একটি জেএস শর্ত .. নেভিগেটর.ইউসারএজেন্ট.ম্যাচ (/ আইপ্যাড / আই)! = নাল তাই আমি পরীক্ষাটি "শর্ত" এ সরাসরি লিখতে পারি ..
testndtv

1
ভাল, জেএসটিএল সার্ভারের শেষে কার্যকর করবে এটি এটির থেকে এইচটিএমএল তৈরি করবে এবং এটি ক্লায়েন্টকে দেবে
জিগার জোশী

ঠিক আছে ... তবে এটি ঠিক আছে ... তবে প্রকৃত অবস্থার জন্য যেমন পরীক্ষা = "শর্ত" এর মধ্যে ... আমি কি কোনও জেএস শর্ত নির্দিষ্ট করতে পারি এবং যদি হ্যাঁ, তবে আমি এটি সরাসরি লিখতে পারি যেমন আমি <সি: যখন পরীক্ষা = "ন্যাভিগেটর লিখতে পারি? .userAgent.match (/ iPad / i)! = নাল; ">
টেস্টেন্ডটিভি

আপনি যে শর্তটি পরীক্ষা করতে চান তার সাথে কি আপনি আপনার প্রশ্ন আপডেট করতে পারেন
জিগার জোশী

170

আপনি যদি কেবল আলাদা পাঠ্য আউটপুট করতে চান তবে আরও সংক্ষিপ্ত উদাহরণ হবে

${condition ? "some text when true" : "some text when false"}

এটি সি এর চেয়ে কম পথ : চয়ন করুন


এই জাভাস্ক্রিপ্ট বা .jsp?
অন্যান্যদেবী

1
কোনও বুলিয়ান ভেরিয়েবল শর্ত হিসাবে কোনও পরামর্শ দেওয়ার সময় কাজ করছেন না?
Adnane.T

এটিকে কি কোনও বিশেষ ট্যাগে আবদ্ধ করা দরকার, বা কেবল এটি সরাসরি এইচটিএমএলে আটকানো দরকার?
কোডি বাগস্টাইন

5
@ অন্যদেবী: এটি জেএসটিএল, যা জেএসপি ফাইলে ব্যবহার করা যেতে পারে। শর্তসাপেক্ষে বা টেরিনারি অপারেটর জাভাস্ক্রিপ্ট সহ আরও অনেক ভাষায় বিদ্যমান।
bergie3000

2
@ বার্গি3000: না , এটি জেএসটিএল নয় । এটি EL
বালাসসি

105

এর জন্য নির্মাণটি হ'ল:

<c:choose>
   <c:when test="${..}">...</c:when> <!-- if condition -->
   <c:when test="${..}">...</c:when> <!-- else if condition -->
   <c:otherwise>...</c:otherwise>    <!-- else condition -->
</c:choose>

যদি শর্তটি ব্যয়বহুল না হয় তবে আমি মাঝে মাঝে দুটি স্বতন্ত্র <c:ifট্যাগ ব্যবহার করতে পছন্দ করি - এটি পড়া সহজ করে তোলে।


4
আমি কি ধরে নিতে পারি যে যদি প্রথম শর্তটি সন্তুষ্ট হয় তবে দ্বিতীয়টি কখন কার্যকর হবে না?
হপ

কারণ আপনি শুরুতে সামগ্রীতে বাক্সের বাইরে সহায়তা পান get এবং যেহেতু ওয়েবদেবগণ এটি অন্য-ডিএসএল না শিখেই এটি ব্যবহার করতে পারে
বোজহো

11
<%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core' %>
<c:set var="val" value="5"/>
<c:choose> 
  <c:when test="${val == '5'}">
    Value is 5
  </c:when>
  <c:otherwise>
    Value is not 5
  </c:otherwise>
</c:choose>

10

আপনি যদি স্ট্রিংগুলির তুলনা করতে চান তবে নীচের জেএসটিএলটি লিখুন:

<c:choose>
    <c:when test="${myvar.equals('foo')}">
        ...
    </c:when>
    <c:when test="${myvar.equals('bar')}">
        ...
    </c:when>
    <c:otherwise>
        ...
    </c:otherwise>
</c:choose>

আমি মনে করি আপনি টমক্যাট ++ এর মতো নতুন (ইশ) পাত্রে কেবল পদ্ধতি (যেমন .কোয়ালগুলি) শুরু করতে পারেন।
রিং করুন


2
<%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core' %>
<c:set var="isiPad" value="value"/>
<c:choose>
   <!-- if condition -->
   <c:when test="${...}">Html Code</c:when> 
   <!-- else condition -->
   <c:otherwise>Html code</c:otherwise>   
</c:choose>


-1

আপনি যদি জেএসটিএল ট্যাগ লিবি ব্যবহার করে নিম্নলিখিতটি করতে চান তবে নীচের পদক্ষেপগুলি অনুসরণ করুন:

[প্রয়োজনীয়তা] যদি কোনও সংখ্যা সমান 40 এর চেয়ে বেশি এবং 50 এর চেয়ে কম হয় তবে "2 সংখ্যাটি 4 দিয়ে শুরু হবে" অন্যথায় "অন্যান্য সংখ্যা" প্রদর্শন করুন।

[সলিউশন]

1. Please Add the JSTL tag lib on the top of the page.`
     <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>`

2. Please Write the following code
`
<c:choose>
       <c:when test="${params.number >=40 && params.number <50}">
              <p> Two digit number starting with 4. </p>
       </c:when>
       <c:otherwise>
              <p> Other numbers. </p>
       </c:otherwise>
  </c:choose>`

-1

আপনি যদি <% %>jsp পৃষ্ঠাতে এবং এর বাইরে এইচটিএমএল কোডের ভিতরে শর্ত লিখতে পারেন<% %>

উদাহরণ স্বরূপ:

   <%
        String username = (String)session.getAttribute("username");
        if(username==null)  {
    %>            
        <p> username is null</p> //html code
    <%
        } else {
    %>
        <p> username is not null</p> //html code
    <%
        }
    %>

-1

আপনি যদি স্ট্রিংগুলির তুলনা করতে চান তবে নীচের জেএসটিএলটি লিখুন:

<c:choose>
    <c:when test="${myvar.equals('foo')}">
        ...
    </c:when>
    <c:when test="${myvar.equals('bar')}">
        ...
    </c:when>
    <c:otherwise>
        ...
    </c:otherwise>
</c:choose>

-1
<c:choose>
<c:when test="${not empty userid and userid ne null}">
      <sql:query dataSource="${dbsource}" var="usersql">
                SELECT * FROM newuser WHERE ID = ?;
                <sql:param value="${param.userid}" />
      </sql:query>
 </c:when>
 <c:otherwise >
       <sql:query dataSource="${dbsource}" var="usersql">
                 SELECT * FROM newuser WHERE username = ?;
                 <sql:param value="${param.username}" />
       </sql:query>                              
  </c:otherwise>


এটি সমাধান সরবরাহ করতে পারে তবে দয়া করে কোড সহ কিছু বিশদ যুক্ত করার বিষয়ে বিবেচনা করুন
প্যাটেল রোমিল

-2

আমারও একই সমস্যা ছিল এবং আমি বুঝতে পেরেছিলাম যে শর্ত থাকলে আপনি কোনও জেএসটিএলে জাভাস্ক্রিপ্ট ব্যবহার করতে পারবেন না ।

এক ধরনের কাজের জাভাস্ক্রিপ্টে থাকতে পারে:

<script>

    var isiPad = navigator.userAgent.match(/iPad/i) != null;

    if (isiPad) {
        document.write("Some HTML code for con1");
    } else {
        document.write("Some HTML code for con2");
    }

</script>

আপনি এই স্ক্রিপ্টটি রাখতে হবে যেখানে আপনি লিখতে চান এইচটিএমএল কোডটি হওয়া উচিত।

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