Я начинаю изучать структуру Primefaces, основанную на JSF и AJAX, и у меня возникают проблемы.
Я пробовал простой пример, такой как inputText, и пытался установить счетчик, который увеличивает свое значение каждый раз, когда нажимается клавиша на inputText. Для этого я использовал AJAX и Bean. Проблема в том, что счетчик увеличивается только в первый раз, после этого он остается прежним. Вот мой код:
ВЕБ-СТРАНИЦА
<!DOCTYPE html>
<html xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>AJAX LISTENER</title>
</h:head>
<h:body>
<h:form>
<h:inputText id="counter">
<p:ajax update="out" event="keypress" listener="#{counterBean.increment}"/>
</h:inputText>
<br/>
AJAX listener = <h:outputText id="out" value="#{counterBean.count}" />
</h:form>
</h:body>
</html>
БОБ
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class counterBean {
private int count;
public counterBean() {
this.count = 0;
}
public void increment(){
this.count = this.count +5;
}
public void setCount(int count) {
this.count = count;
}
public int getCount() {
return count;
}
}