p:民意调查以“未找到财产”错误而爆炸

时间:2011-11-14 20:44:14

标签: jsf primefaces

我正在尝试使用p:poll JSF标记,并使用我在网上找到的代码示例。但我不断收到错误。系统似乎没有找到属性'increment',尽管它存在于bean中。

我使用以下内容:

<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 个答案:

答案 0 :(得分:0)

我认为你必须以这种方式使用panelgrid:

 <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>

答案 1 :(得分:0)

在actionListener中使用括号,如下所示:

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

答案 2 :(得分:0)

我终于开始这样做了。这是一个完整的描述&amp;代码:

从这里下载最新的主要面孔:http://www.primefaces.org/downloads.html

从这里获取文档pdf,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>

在CounterBean中:

private int count = 1;

public int getCount() {  
    return count;  
}  

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

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

这就是全部。它完美无瑕。