Мне нужно использовать <p:poll />
в некоторых других работах. Так что я пытался из PrimeFaces ShowCase код: -Опрос PrimeFaces не работает
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:rich="http://richfaces.org/rich"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:a4j="http://richfaces.org/a4j">
<h:form>
<h:outputText id="txt_count" value="#{counterView.number}" />
<p:poll interval="3" listener="#{counterView.increment()}" update="txt_count" />
</h:form>
</html>
И подкладочный боб, как показано ниже: -
package com.poll;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
@ManagedBean (name="counterView")
@ViewScoped
public class CounterView implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private int number;
public int getNumber() {
return number;
}
public void increment() {
number++;
System.out.println(number);
}
}
Он работает так: в браузере number
показывает как 0 и не изменяется , В консоли я вижу, что он печатает один раз, а затем ничего.
Что здесь не так? Я использую PrimeFaces 3.4.2 на JSF 2.1
Должен работать, Единственное, что я попробовал бы - это удалить '()' в атрибуте 'listener', например' # {counterView.increment} 'вместо' # {counterView.increment()} ' –
'
' – TinyПо-прежнему не работает –