में बूलियन संपत्ति को पढ़ नहीं सकता है यदि किसी ऑब्जेक्ट प्रॉपर्टी को बूलियन (आदिम बूलियन नहीं) के रूप में घोषित किया जाता है तो ईएल में इसे पहचानने में कोई समस्या हो रही है!जेएसपी ईएल
आप निम्नलिखित वस्तु है कहो
class Case{
private Boolean valid;
public Boolean isValid(){
return this.valid;
}
public void setValid(Boolean val){
this.valid = val;
}
}
हम "मामले" नाम के तहत अनुरोध में प्रकार के मामले की एक वस्तु डाल कहो, तो मैं JSP में इस प्रयास करें:
<td>Object is ${case.valid ? "Valid":"Invalid"} </td>
यह मुझे त्रुटि देता है "वैध" ऑब्जेक्ट केस की संपत्ति नहीं है! अगर मैं बुलीयन से आदिम बूलियन में वैध बदलता हूं तो यह काम करता है!
क्या यह ईएल में बूलियन प्रकारों के साथ एक ज्ञात समस्या है कि उन्हें बूलियन के रूप में पहचाना नहीं जाता है बल्कि जावा "सामान्य" ऑब्जेक्ट्स के रूप में पहचाना जाता है? इसे संभालने का सही तरीका क्या है?
धन्यवाद
मैं एक नोब जेएसपी उपयोगकर्ता हूं, लेकिन आपके 'वैध' ऑब्जेक्ट वेरिएबल घोषणा में 'निजी' का अर्थ यह नहीं है कि आप इसे सीधे एक्सेस नहीं कर सकते हैं? –
हां, यह जावा दुनिया में सच है, लेकिन ईएल के साथ आप JavaBean शैली (object.propertyName) का उपयोग करके ऑब्जेक्ट गुणों तक पहुंच सकते हैं, जिससे आप एक गेटटर (इस मामले में वैध है) प्रदान करते हैं। तो जब आप केस कहते हैं। वैध आप वास्तव में case.isValid() कॉल कर रहे हैं। आप देख सकते हैं कि अगर मैं बूलियन को बुलियन में बदलता हूं तो यह ठीक काम करता है। – DhafirNz
तो यदि आप विधि 'isValid()' कहते हैं, तो यह भी काम नहीं करता है? –