我正在尝试使用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++;
}
我做错了什么?
答案 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);
}
这就是全部。它完美无瑕。