[SOLVED] - AJUDA - Visual Web JSF - Refresh Automático

9 respostas
olitree

Olá a todos.

Estou a querer desenvolver um programa que mostra uma tabela, e eu quero que essa tabela seja actualizada automáticamente de x em x tempo. Estou a usar o Visual Web JSF, isso é possível?

Cumprimentos,

António Oliveira

9 Respostas

UMC

cara poderia ser isso:

<meta http-equiv="Refresh" content="tempo_que_vc_quer; URL=http://localhost:8080/nome_do_seu_projeto/pagina_que_vai_atualizar.jsp;">

vlw
abs

olitree

Eu gostaria mesmo só na tabela e não na pagina.

UMC

cara veja se esse site resolve:
http://balusc.blogspot.com/2006/06/using-datatables.html
vlw
abs

A

Se você quer atualizar somente uma área da página não tem como fugir de ter que usar ajax.

olitree

Viva.

Como nunca trabalhei com AJAX gostava que alguem me orienta-se nesta tarefa.

Obrigado

olitree

De momento ainda não consegui resolver o meu problema.
No meu projecto já tenho importado o richfaces, que trabalha com a4j.

tenho este código:

<?xml version="1.0" encoding="UTF-8"?>

<!--
    Document   : Page1
    Created on : 12/Nov/2009, 11:16:02
    Author     : olitree
 -->
<jsp:root version="2.1" xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"
    xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:webuijsf="http://www.sun.com/webui/webuijsf">
    <jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/>
   <f:view>
    <webuijsf:page id="page1">
          <webuijsf:html id="html1">
                <webuijsf:head id="head1">
                    <webuijsf:link id="link1" url="/resources/stylesheet.css"/>
                </webuijsf:head>
                <webuijsf:body id="body1" style="-rave-layout: grid">
                    <webuijsf:form id="form1">
                        <webuijsf:table augmentTitle="false" id="table1" paginateButton="true" paginationControls="true"
                       style="left: 0px; top: 0px; position: absolute" title="Lista de Users" width="432">
                            <webuijsf:tableRowGroup id="tableRowGroup1" rows="10" sourceData="#{Page1.maxuserDataProvider}" sourceVar="currentRow">
                                 <webuijsf:tableColumn headerText="userid" id="tableColumn1" sort="userid">
                                 <webuijsf:staticText id="staticText1" text="#{currentRow.value['userid']}"/>
                                <webuijsf:tableColumn headerText="personid" id="tableColumn2" sort="personid">
                                 <webuijsf:staticText id="staticText2" text="#{currentRow.value['personid']}"/>
                                </webuijsf:tableColumn>
                                <webuijsf:tableColumn headerText="status" id="tableColumn3" sort="status">
                                 <webuijsf:staticText id="staticText3" text="#{currentRow.value['status']}"/>
                                </webuijsf:tableColumn>
                            </webuijsf:tableRowGroup>
                        </webuijsf:table>
                       </webuijsf:form>
                </webuijsf:body>
            </webuijsf:html>
        </webuijsf:page>

          </f:view>

</jsp:root>

Onde devo colocar por exemplo o comando a4j:pool para refrescar uma coluna já tentei colocar, e nada, alguma sugestão?

UMC

vc ja tentou colocar no inicio da tabela?.
no inicio de uma coluna?
vc tem quer fazer varios testes, ate aqules sem logica.
espero ter ajudado
vlw
abs

UMC

da ulhada nesse site ver se ajuda em algo.
http://livedemo.exadel.com/richfaces-demo/richfaces/poll.jsf?c=poll&tab=usage
tem mais esse aki.
http://livedemo.exadel.com/richfaces-demo/richfaces/push.jsf?c=push&tab=usage

olitree

Obrigado a todos pelas dicas.

Resolvi o meu problema com a substituição do Visual Web JSF pelo RichFaces.

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<%@taglib prefix="a4j" uri="http://richfaces.org/a4j"%>
<%@taglib prefix="rich" uri="http://richfaces.org/rich"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<%--
    This file is an entry point for JavaServer Faces application.
--%>
<f:view>
    <h:form>

       
            <a4j:poll id="poll" interval="1000" enabled="true" reRender="tabelaUsers" />
        

        <rich:dataTable  id="tabelaUsers" value="#{MyBean.users}" var="linha" rows="10">

            <f:facet name="header">
                <h:outputText value="Lista de Utilizadores" />
            </f:facet>

            <rich:column id="colUserID">
                <f:facet name="header"><h:outputText value="UserID" /></f:facet>
                <h:outputText value="#{linha.userid}" />
            </rich:column>
            <rich:column id="colPersonID">
                <f:facet name="header"><h:outputText value="PersonID" /></f:facet>
                <h:outputText value="#{linha.personid}" />

            </rich:column>
            <rich:column id="colStatus">
                <f:facet name="header"><h:outputText value="Status" /></f:facet>
                <h:outputText value="#{linha.status}" />

            </rich:column>

        </rich:dataTable>

    </h:form>


</f:view>
Criado 12 de novembro de 2009
Ultima resposta 17 de nov. de 2009
Respostas 9
Participantes 3