Ajax民意调查不适用于我的项目
问题描述:
首先,我很抱歉我的英语不好。 我刚与JSF合作,所以我确信这是一个非常愚蠢的问题,但我找不到任何帮助我的帖子。我在我的项目中使用ajax poll,因为我需要刷新页面中的组件。我在primefaces 5展示中创建了一个例子。在这个例子中,有一个计数器每3秒递增一次。我以完全相同的方式使用了示例的代码,但计数器从不增加。我认为这可能是我在项目中使用的糟糕配置。此外,它的显示,在Eclipse控制台下一条消息(我不知道这是否有事情做与我的问题):Ajax民意调查不适用于我的项目
信息:没有定义的状态保存方法,假设默认的服务器 状态保存
这里是我的SORCE代码:
<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta>
<title>Insert title here</title>
</h:head>
<h:body>
<h:form>
<h:outputText id="txt_count" value="#{globalCounterView.count}"/>
<p:poll interval="3" listener="#{globalCounterView.increment}" update="txt_count"/>
</h:form>
</h:body>
</html>
在豆:
import java.io.Serializable;
import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.event.ActionEvent;
@ManagedBean
@ApplicationScoped
public class GlobalCounterView implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private int count;
public int getCount() {
return count;
}
public void increment(ActionEvent actionEvent) {
count++;
}
public void setCount(int count) {
this.count = count;
}
}
的web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>SAEGraph</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
最后,我想要做的事情是从更新周期支持豆一primeface组件。另外,你可以告诉我,如果存在任何其他方式来做到这一点不使用调查? 谢谢并再次抱歉,英语不好。
我使用primefaces 5.0,Tomcat的7,Eclipse版本:4,JDK 7
答
只需卸下论点increment
方法。
public void increment(ActionEvent actionEvent) {
count++;
}
到:
public void increment() {
count++;
}
非常感谢,我做了很多的变化后,我把那些失败的论点,并没有注意到 – Glenda 2014-10-07 19:47:28
不客气,一切发生的时间=) – Pellizon 2014-10-07 20:48:36