Friday 15 March 2013

jsf - EL expression in c:choose, can't get it working -


मैं इस तरह से कुछ (जेएसएफ 2) कोशिश कर रहा हूं:

  & lt; p & gt; # {} projectPageBean.availableMethods & lt; / p & gt; & LT; c: चुनें & gt; & Lt; c: जब test = "$ {projectPageBean.availableMethods == सच}" & gt; & Lt; p & gt; एबीसी & lt; / p & gt; & Lt; / c: जब & gt; & LT; c: अन्यथा & gt; & Lt; p & gt; Xyz & lt; / p & gt; & Lt; / c: अन्यथा & gt; & Lt; / c: चुनें & gt;   

लेकिन यह काम करने के लिए नहीं लगता है, हालांकि शीर्ष पैराग्राफ में ईएल अभिव्यक्ति गलत से बदलती है, अगले अनुच्छेद हमेशा Xyz दिखाता है?

मैं भी परीक्षण को निम्न में बदलने की कोशिश की:

  $ {projectPageBean.availableMethods}   

लेकिन फिर भी यही समस्या!

सबसे पहले और सबसे महत्वपूर्ण:।

आपकी ठोस समस्या यह संकेत देती है कि # {projectPageBean} सेट हो गया है दृश्यमान समय के रूप में प्रस्तुत करता है, जैसे कि & lt; ui: repeat var & gt; , & lt; h: डेटाटेबल var & gt; , & lt; p: tabView Var & gt; , आदि। इस तरह से null दृश्य बिल्ड समय के दौरान।

उस स्थिति में, आपको सशर्त रूप से HTML को प्रस्तुत करने के लिए व्यू बिल्ड समय टैग का उपयोग नहीं करना चाहिए आपको सशर्त रेंडर एचटीएमएल के लिए एक दृश्य रेंडर टाइम घटक का उपयोग करना चाहिए। पहली पसंद के रूप में & lt; ui: fragment & gt; :

  & lt; p & gt; # {projectPageBean.availableMethods} & lt; / p & gt; का उपयोग करें। & Lt; ui: टुकड़ा गाया गया = "# {projectPageBean.availableMethods}" & gt; & Lt; p & gt; एबीसी & lt; / p & gt; & Lt; / ui: टुकड़ा & gt; & Lt; ui: टुकड़ा गाया गया = "# {परियोजना नहीं पेजबेन.उपलब्ध विधियां}" & gt; & Lt; p & gt; Xyz & lt; / p & gt; & Lt; / ui: टुकड़ा & gt;   

वैसे, Facelets में कोई भी # {} और $ {} के बीच स्विच करने की आवश्यकता नहीं है। जेएसपी के विपरीत, फेसलेट में $ {} वर्चुअल रूप से # {} जैसा व्यवहार करता है। संभावित भ्रम और रखरखाव की समस्या से बचने के लिए, मैं हर समय # {} से चिपक जाने की सलाह देता हूं।

यह भी देखें:


No comments:

Post a Comment