jsf 2 - Rendered is not working properly on JSF -


  मेरा वर्ग इस प्रकार है: सार्वजनिक वर्ग TestBean Serializable {private int id; निजी स्ट्रिंग का नाम; निजी बूलियन शोऑट; सार्वजनिक TestBean () {showOut = false; } सार्वजनिक void submit () {System.out.println ("id -----" + id); } सार्वजनिक शून्य whatsTheName (AjaxBehaviorEvent ई) {System.out.println ("बुलाया श्रोता"); अगर (आईडी == 0) {name = "dog"; showOut = true } और अगर (आईडी == 1) नाम = "बिल्ली"; अन्य नाम = "बर्ड"; } सार्वजनिक int getId () {वापसी आईडी; } सार्वजनिक शून्य setId (int id) {this.id = id; } सार्वजनिक स्ट्रिंग getName () {System.out.println ("name name -----" + name); वापसी का नाम; } सार्वजनिक शून्य सेटनाम (स्ट्रिंग नाम) {this.name = name; } सार्वजनिक बूलियन दिखाना है () {System.out.println ("showOut called ----" + showOut); वापसी शोऑट; } सार्वजनिक शून्य सेटशोउट (बूलियन शोऑट) {this.showOut = showOut; }}  

और एक्सएचटीएमएल है:

  & lt;! DOCTYPE html public "- // W3C // DTD एक्सएचटीएमएल 1.0 ट्रांस्क्रिप्शन // एन http : //www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "& gt; & Lt; html xmlns = "http://www.w3.org/1999/xhtml" xmlns: ui = "http://java.sun.com/jsf/ फ़ोलेस" xmlns: h = "http: // जावा Sun.com/jsf/html "xmlns: p =" http://primefaces.org/ui "xmlns: f =" http://java.sun.com/jsf/core "& gt; & LT; ज: शीर्ष & gt; & Lt; / h: शीर्ष & gt; & LT; ज: बॉडी & gt; & Lt; h: फ़ॉर्म id = "frm1" & gt; & Lt; h: चयनऑनमेन्यू वैल्यू = "# {testBean.id}" & gt; & Lt; f: चयनआइटम आइटम लेबल = "कुत्ता" आइटम वैल्यू = "0" & ​​gt; & lt; / f: selectItem & gt; & Lt; f: चयन आईटम आइटम लेबल = "कैट" आइटम वैल्यू = "1" & gt; & lt; / f: selectItem & gt; & Lt; f: चयन आईटम आइटम लेबल = "बर्ड" आइटम वैल्यू = "2" & gt; & lt; / f: selectItem & gt; & Lt; f: अजाक्स निष्पादन = "@ फॉर्म" ईवेंट = "परिवर्तन" श्रोता = "# {testBean.whatsTheName}" प्रस्तुत करना = ": frm2: out" & gt; & lt; / f: ajax & gt; & Lt; / h: selectOneMenu & gt; & Lt; / h: प्रपत्र & gt; & Lt; br & gt; & lt; / br & gt; & Lt; br & gt; & lt; / br & gt; & Lt; h: फ़ॉर्म id = "frm2" & gt; & Lt; h: outputText id = "out" value = "# {testBean.name}" प्रदान की गई = "# {testBean.showOut}" / & gt; & Lt; / h: प्रपत्र & gt;  

मैं आउटपुट बॉक्स केवल 'कुत्ता' का चयन करने के लिए दिखाना चाहता हूं। लेकिन आउटपुट टेक्स्ट पर गाया नहीं जा रहा है, भले ही विशेष चर का मान बैकिंग बीन पर ठीक से सेट हो।

"post-text" itemprop = "text"> < P> जैसा कि विट्टकर्न द्वारा सुझाया गया है, रेंडर विशेषता को संशोधित करें और आपका आउटपुट टेक्स्ट सही ढंग से प्रदान किया गया है।

लेकिन यह कभी भी विफल नहीं होगा, क्योंकि आपने कभी भी showOut अगर कोई नया चयन "डॉग" के लिए अलग है, तो झूठे को।

मेरा सुझाव है कि सामग्री को बदलना whatsTheName (...) जैसा ही:

  सार्वजनिक शून्य whatsTheName (AjaxBehaviorEvent ई) {System.out.println ("बुलाया श्रोता"); // change showOut किसी भी स्थिति में showOut = (id == 0); // चयनित आईडी स्विच (आईडी) के अनुसार टेक्स्ट लागू करें {case 0: name = "dog"; टूटना; मामला 1: नाम = "बिल्ली"; टूटना; मामला 2: नाम = "बर्ड"; टूटना; }}  

Comments