स्ट्रिंग ONLY $4.67
के हिस्से के रूप में प्रिंट करने के लिए promoPrice
चर कैसे प्राप्त करें?ईएल में एक स्ट्रिंग को कैसे जोड़ना है?
<c:set var="promoPrice" value="4.67" />
<p>${(promoPrice != null) ? "ONLY $${promoPrice}" : "FREE"}</p>
स्ट्रिंग ONLY $4.67
के हिस्से के रूप में प्रिंट करने के लिए promoPrice
चर कैसे प्राप्त करें?ईएल में एक स्ट्रिंग को कैसे जोड़ना है?
<c:set var="promoPrice" value="4.67" />
<p>${(promoPrice != null) ? "ONLY $${promoPrice}" : "FREE"}</p>
आप पहले से ही ईएल 3.0 पर हैं (जावा EE 7; WildFly, बिलाव 8, ग्लासफिश 4, आदि), तो आप इस के लिए नए +=
ऑपरेटर इस्तेमाल कर सकते हैं:
<p>${not empty promoPrice ? 'ONLY $' += promoPrice : 'FREE'}</p>
हैं हालांकि आप अभी तक ईएल 3.0 पर नहीं हैं, फिर ईएल 2.2 (जावा ईई 7; जेबॉस एएस 6/7, टॉमकैट 7, ग्लासफ़िश 3, आदि) का उपयोग तर्कों के साथ सीधे तरीकों का आह्वान करने की क्षमता, जिसे आप String#concat()
पर लागू करते हैं:
<p>${not empty promoPrice ? 'ONLY $'.concat(promoPrice) : 'FREE'}</p>
या अगर आप भी कर रहे हैं अभी तक ईएल 2.2 पर, तो श्रेणीबद्ध मूल्यों सिर्फ मूल्य में inlined के साथ एक नया ईएल चर बनाने के लिए JSTL <c:set>
का उपयोग नहीं:
<c:set var="promoPriceString" value="ONLY $${promoPrice}" />
<p>${not empty promoPrice ? promoPriceString : 'FREE'}</p>
में अपने विशेष मामले, एक और तरीका विभाजित करने के लिए है दो भागों में अभिव्यक्ति:
<p>${not empty promoPrice ? 'ONLY $' : 'FREE'}${promoPrice}</p>
तो ${promoPrice}
शून्य या खाली है, यह वैसे भी मुद्रित नहीं किया जाएगा।
बहुत बहुत धन्यवाद! किसी कारण से मुझे इस तरह के संगतता के बारे में कहीं भी जानकारी नहीं मिल सका। – alquatoun
आपका स्वागत है। – BalusC
'str1'concon ('str2') 'इस त्रुटि के साथ ईएल 2.1 (टॉमकैट 6) में विफल रहता है org.apache.jasper.JasperException: /WEB-INF/pages/x.jsp फ़ंक्शन कॉन्सट का उपयोग किया जाना चाहिए एक उपसर्ग जब एक डिफ़ॉल्ट नेमस्पेस निर्दिष्ट नहीं है। – naXa
सीधे JSTL रास्ता
<c:set var="promoPrice" value="4.67" />
<p>
<c:choose>
<c:when test="${(promoPrice != null)}">
ONLY $${promoPrice}
</c:when>
<c:otherwise>
FREE
<c:otherwise>
</c:choose>
</p>
क्या यह काम नहीं कर रहा?
<c:set var="promoPrice" value="4.67" />
<p>${(promoPrice != null) ? "ONLY $"${promoPrice} : "FREE"}</p>
ध्यान दें कि $ {promoPrice} उद्धरण के बाहर है। यह सबसे सरल समाधान की तरह दिखता है।
क्यों -1? क्या कोई भी इस जवाब को रेट कर सकता है? –
यह कानूनी ईएल वाक्यविन्यास नहीं है; [ईएल विनिर्देश] से (http://jcp.org/aboutJava/communityprocess/mrel/jsr245/index.html) (2.2 मील): _Nested eval-expressions, जैसे '$ {item [$ {i}]} 'अवैध हैं। – McDowell
मैं इस जहाँ मैं एक चर mathjaxUrl
है की तरह कुछ किया है और मैं इसे अन्य स्ट्रिंग
<c:set var="mathjaxUrl" value="https://cdnjs.cloudflare.com/ajax/libs/mathjax" />
... some other stuff here
<c:set var="mathjaxUrl" value="${mathjaxUrl}?config=TeX-AMS-MML_HTMLorMML" />
आशा से संपर्क करना चाहते इस मदद आप
स्ट्रिंग संयोजन के लिए एक सरल और मजबूत समाधान, कि संगत है
<c:set var="promoPrice" value="4.67" />
<c:set var="priceText" value="ONLY ${promoPrice}" />
<p>${(promoPrice != null) ? priceText : "FREE"}</p>
@BalusC के अनुसार, ईएल 2.2 यो से शुरू: ईएल 2.0+ के साथ, एक मध्यवर्ती चर का उपयोग करने के लिए है आप String#concat()
विधि का उपयोग करके concatenation कर सकते हैं, और ईएल 3.0 से शुरू करने के लिए आप इसके लिए नए +=
ऑपरेटर का उपयोग कर सकते हैं।
क्या मेरा सुझाव आपकी समस्या का समाधान करता है? यानी कोट्स के बाहर $ प्रोमोप्रिस को स्थानांतरित करें। –
@rationalSpring no, यह काम नहीं करता है। मुझे लगता है कि आप उस तरह चर को पारित नहीं कर सकते हैं। हालांकि धन्यवाद। – alquatoun