मैं पी: पोल जेएसएफ टैग के साथ काम करने की कोशिश कर रहा हूं, और नेट पर मिले कोड नमूने का उपयोग कर रहा हूं। लेकिन मुझे त्रुटि मिलती रहती है। सिस्टम 'वृद्धि' संपत्ति नहीं ढूंढ रहा है, हालांकि यह बीन में मौजूद है।

मैं निम्नलिखित का उपयोग करता हूं:

<h:outputText id="txt_count" value="#{navBean.count}" /> 
<p:poll actionListener="#{navBean.increment}" interval="1000" update="txt_count" />

यह एक दृश्य और रूप के अंदर है, इस तरह:

<f:view>
<h:form>

उपयुक्त समापन टैग के साथ। जब मैं इसे हिट करता हूं, तो यह com.roberts.ui.NavBean प्रकार पर नहीं मिली संपत्ति 'वृद्धि' उत्पन्न करता है

वृद्धि विधि वहाँ है:

public void increment(ActionEvent actionEvent) {
    count++;
}

मैं क्या गलत कर रहा हूं?

0
Herzog 15 नवम्बर 2011, 00:44

3 जवाब

सबसे बढ़िया उत्तर

मैं आखिरकार ऐसा करने के लिए तैयार हो गया। यहाँ एक पूर्ण विवरण और कोड है:

नवीनतम प्रमुख चेहरे यहां से डाउनलोड करें: http://www.primefaces.org/downloads.html

दस्तावेज़ीकरण पीडीएफ़, 3.0.RC2, यहाँ से प्राप्त करें: http://www.primefaces.org/documentation.html

इस नवीनतम रिलीज़ के लिए xmlns है: xmlns:p="http://primefaces.org/ui"

Xhtml फ़ाइल में (प्रत्येक 3 सेकंड में मतदान करने के लिए):

<h:form>
<h:outputText id="txt_count" value="#{counterBean.count}" /> 
<p:poll listener="#{counterBean.increment}" interval="3" update="txt_count" />
</h:form>

काउंटरबीन में:

private int count = 1;

public int getCount() {  
    return count;  
}  

public void setCount(int count) {  
    this.count = count;  
}  

public void increment() {  
    setCount(getCount() + 1);  
}   

बस इतना ही। यह निर्दोष रूप से काम करता है।

0
Herzog 22 पद 2011, 17:33

मुझे लगता है कि आपको इस तरह से पैनलग्रिड का उपयोग करना होगा:

 <h:form>
    <p:poll actionListener="#{navBean.increment}" interval="1000" update="panel_to_refresh" />
 </h:form>

 <h:panelGrid id="panel_to_refresh">
    <h:outputText id="txt_count" value="#{navBean.count}" /> 
 </h:panelGrid>
0
Vincenzo 15 नवम्बर 2011, 12:55
आपके उत्तर के लिए धन्यवाद, विन्सेन्ज़ो, लेकिन यह काम नहीं करता है। मुझे अभी भी वही मिल रहा है /pages/testing.xhtml: संपत्ति 'वृद्धि' प्रकार com.ui.NavBean अपवाद पर नहीं मिली।
 – 
Herzog
15 नवम्बर 2011, 19:30
साथ ही: मुझे यह चेतावनी मिल रही है: "यह पृष्ठ XML नाम स्थान के लिए कहता है primefaces.prime.com.tr/ ui उपसर्ग p के साथ घोषित किया गया है लेकिन उस नाम स्थान के लिए कोई टैग लाइब्रेरी मौजूद नहीं है।" मुझे किसकी याद आ रही है?
 – 
Herzog
15 नवम्बर 2011, 20:53

इस तरह एक्शन लिस्टनर में कोष्ठक का प्रयोग करें:

 <h:form>
  <p:poll actionListener="#{navBean.increment()}" interval="1000" update="panel_to_refresh" />
 </h:form>
0
Vincenzo 15 नवम्बर 2011, 20:37
ठीक है, लेकिन अब मुझे एक /pages/home.xhtml मिलता है: [0] पैरामीटर के साथ [increment] विधि खोजने में असमर्थ। अगर मैं कोई पैरामीटर नहीं बढ़ाता (पैरामीटर के रूप में ActionEvent के बिना) तो मुझे कोई अपवाद नहीं मिलता है, लेकिन पोल कुछ भी नहीं करता है। दूसरे शब्दों में यह गिनती फ़ील्ड को अपडेट नहीं करता है।
 – 
Herzog
15 नवम्बर 2011, 20:46