मैं जेएसपी के <c:if>
टैग में दो अलग-अलग प्रकारों की तुलना करना चाहता हूं। असल में बाएं एक Number
है लेकिन सही एक स्ट्रिंग है और यदि वह स्ट्रिंग किसी संख्या में पार्स हो सकती है तो मुझे कोई त्रुटि नहीं मिलती है, लेकिन यदि स्ट्रिंग को Number
पर पार्स नहीं किया जा सकता है तो मुझे javax.el.ELException: Cannot convert No of type class java.lang.String to class java.lang.Long
प्राप्त होता है।जेएसपी तुलना ऑपरेटर व्यवहार
व्यावहारिक रूप से :
$ {1 == ""} // काम करता है ठीक
$ {1 == "4"} // काम करता है ठीक
$ {1 == "हाँ"} // अपवाद को ट्रिगर करता है।
लेकिन यहां तक कि तीसरी तुलना जेएसपी के पिछले संस्करणों में भी ठीक काम करती है लेकिन अब यह अपवाद का कारण बनती है।
क्या ==
का व्यवहार समय के साथ बदल गया है?
कोई सुझाव अत्यधिक
शायद आप आंतरिक रूप से एक कनवर्टर का उपयोग करते हैं यदि आप सुनिश्चित करते हैं कि एक्स्प को फेंकना नहीं है। – ZaoTaoBao
संख्या। यहां तक कि eq नए जेएसपी संस्करणों में भी एक ही अपवाद फेंकता है –