मैं पी: पोल जेएसएफ टैग के साथ काम करने की कोशिश कर रहा हूं, और नेट पर मिले कोड नमूने का उपयोग कर रहा हूं। लेकिन मुझे त्रुटि मिलती रहती है। सिस्टम 'वृद्धि' संपत्ति नहीं ढूंढ रहा है, हालांकि यह बीन में मौजूद है।
मैं निम्नलिखित का उपयोग करता हूं:
<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++;
}
मैं क्या गलत कर रहा हूं?
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);
}
बस इतना ही। यह निर्दोष रूप से काम करता है।
मुझे लगता है कि आपको इस तरह से पैनलग्रिड का उपयोग करना होगा:
<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>
इस तरह एक्शन लिस्टनर में कोष्ठक का प्रयोग करें:
<h:form>
<p:poll actionListener="#{navBean.increment()}" interval="1000" update="panel_to_refresh" />
</h:form>