2012-01-25 16 views
21

क्या आप जेएसपी अभिव्यक्ति के अंदर एक if-then-else कथन कर सकते हैं?अगर-जेएसपी अभिव्यक्ति के अंदर?

संपादित करें: विशेष रूप से मैं एक जेएसपी समाधान की तलाश में था, जेएसटीएल समाधान नहीं। लेकिन नीचे दिए गए कुछ जेएसटीएल समाधान अत्यधिक मूल्यांकन किए जाते हैं और उनका स्वागत है। कृपया मुझे डुप्लिकेट प्रश्न के लिए वोट न दें क्योंकि किसी से पहले ही जेएसटीएल के बारे में पूछा जा चुका है।

+2

हां प्रिंट करने के लिए पाठ। http://stackoverflow.com/questions/4587397/how-to-use-if-else-option-in-jstl –

+0

@ सिमॉन, मैं जेएसपी नहीं जेएसटीएल के लिए पूछ रहा था। (मुझे यकीन है कि अगर मैं उचित शब्दावली का उपयोग कर रहा हूं।) – Xonatron

उत्तर

22

यदि आप जेएसटीएल का उपयोग कर रहे हैं तो आप चुन सकते हैं-अन्यथा।

<c:choose> 
    <c:when test="condition"></c:when> 
    <c:when test="condition2"></c:when> 
    <c:otherwise></c:otherwise> 
</c:choose> 
लिए JSTL बारे में अधिक जानकारी के लिए प्रयास करें here

+0

इसके लिए धन्यवाद, लेकिन मैं एक जेएसपी समाधान की तलाश नहीं कर रहा था जो कि जेएसटीएल समाधान नहीं है। मुझे अंत में यकीन नहीं है कि यह मेरे प्रोजेक्ट के लिए महत्वपूर्ण है या नहीं, लेकिन मैं अभी तक जेएसटीएल से अपरिचित हूं। – Xonatron

+1

जेएसटीएल बहुत सारी कार्यक्षमता जोड़ता है ... यदि आप जेएसपी के साथ अपना यूआई कर रहे हैं तो शायद यह देखने लायक होगा। शुरुआत करना बहुत आसान है। – Michael

+0

इसके लिए धन्यवाद। मुझे इसे देखना पड़ सकता है। यह आसानी से वेब-आधारित तारों से बचने में भी प्रतीत होता है। ऐसा लगता है कि यह वेब ऐप्स के लिए बहुत अच्छी तरह डिज़ाइन किया गया है। जैसे मैंने कहा, मैंने कभी इसका इस्तेमाल नहीं किया है, इसलिए यह वही है जो ऐसा प्रतीत होता है। मैं वास्तव में जेएसपी स्क्रिप्टलेट्स और जेएसपी अभिव्यक्तियों और जेएसटीएल के बीच थोड़ा उलझन में हूं। जैसा कि मैं उन सभी का उपयोग करता हूं, मैं उम्मीद करता हूं कि प्रत्येक के उद्देश्य और स्थान की पकड़ हो। एक और दूसरे के बीच एक विकल्प अब तक लालित्य के लिए प्रतीत होता है। वास्तव में मेरे प्रश्न का उद्देश्य कौन सा है। – Xonatron

28

जेएसपी ईएल 2.0 में, आप टर्नरी ऑपरेटर का उपयोग करके ऐसा कर सकते हैं। उदाहरण के लिए:

<option value="1" ${param.number == 1 ? 'selected' : ''}>First option</option> 

क्या यह करता है यह JSP के param के number चर जाँच करता है। यदि यह 1 है, तो चयनित प्रतिस्थापित किया गया है। अन्यथा, कुछ भी नहीं।

+0

मुझे यह पसंद है। लेकिन मुझे यकीन नहीं है कि यह क्या है। यह एक जेएसपी अभिव्यक्ति नहीं है। क्या मैं यहां अपने जेएसपी स्क्रिप्टलेट से चर का उपयोग कर सकता हूं? (मैं अभी कोशिश कर रहा हूं और असफल रहा हूं।) – Xonatron

+0

'param' में स्क्रिप्टलेट से सभी चर शामिल हैं। 'param.number' केवल 'संख्या' के मान तक पहुंच जाएगा। –

+0

मेरे पास मेरे जेएसपी स्क्रिप्लेट में 'बूलियन भी' है, लेकिन 'param.even' इसे एक्सेस नहीं कर रहा है। प्रत्येक पंक्ति में 'सत्य' से 'झूठी' तक भी स्विच करता है, और जब मैं '$ {param.even == सत्य का उपयोग करता हूं? 'यहां तक ​​कि': 'विषम'} 'या' $ {param.even? 'यहां तक ​​कि': 'विषम'} 'मुझे जो भी मिलता है वह आउटपुट के लिए' अजीब 'होता है। – Xonatron

11

आप इस तरह jsp टैग के साथ अपने html कोड लपेट कर सकते हैं:

<% if (condition) { %> 
<div>Condition is true!</div> 
<% } else { %> 
<div>Condition is false</div> 
<% } %> 
+0

मुझे यह भी पसंद है। यह वास्तव में मेरा वर्तमान समाधान है! लेकिन यह जेएसपी स्क्रिप्टलेट का उपयोग कर रहा है, जेएसपी अभिव्यक्ति नहीं। मैं बस सबसे सुरुचिपूर्ण समाधान चाहता था। – Xonatron

0

एक अलग तरह से मैं का उपयोग करें क्योंकि ग्रहण मुझे बता रखना है कि यह एक चर जो सर्वलेट जबकि से आ रही है समाधान नहीं कर सकता है (: JSP को नया हूँ पी एस): क्रियान्वित जो नीचे है

${if(var != null)"text to print"} 
${if(var != null)var} to print a variable 
${if(var != null)"text to print"} 

पाठमुद्रित करने के लिए की तरह परिणाम होगावैर वैल्यू >

संबंधित मुद्दे