2014-10-07 4 views
2

Прежде всего, извините за мой плохой английский. Я работаю с JSF, поэтому я уверен, что это действительно глупый вопрос, но я не мог найти ни одной должности, которая мне помогла. Я использую ajax-опрос в моем проекте, потому что мне нужно обновить компоненты на странице. Я основал пример в витрине. В этом примере есть счетчик, который увеличивается каждые 3 секунды. Я использовал код примера точно так же, но счетчик никогда не увеличивается. Я думаю, что это может быть плохая конфигурация, которую я использовал в своем проекте. Кроме того, его показали следующее сообщение в консоли Eclipse (я не знаю, если это что-то делать с моей проблемой):Опрос Ajax в моем проекте не работает

Informacion: Без сохранения состояния определенного метода, предполагая, что сервер по умолчанию состояния экономии

Вот мой 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

ответ

1

Просто удалите аргумент в increment метода.

public void increment(ActionEvent actionEvent) { 
    count++; 
} 

к:

public void increment() { 
    count++; 
} 
+0

спасибо, после многих изменений, которые я сделал, я ставлю ту неудачу аргументов и не заметило – Glenda

+0

Вы долгожданные, случается все время =) – Pellizon

Смежные вопросы