Hora JSF

8 respostas
E

Consigo pegar a data ea hora atual e colocar em um label dessa forma:

<span class="data"><h:outputLabel value="#{produtosDiaBB.dataAtual}" styleClass="data"> <f:convertDateTime pattern="dd/MM/yyyy HH:mm" timeZone="America/Sao_Paulo"/> </h:outputLabel></span>

Mas ai o minuto que aparece nao muda rs, ou seja pega a hora 08:05 e fica eternamente, como faço pra atualizar os minutos e a hora respectivamente ?

8 Respostas

M

acho que vc precisa eh de um relogio, tenho esse script que eh bem legal.

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;..::data e hora::..&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
 
&lt;SCRIPT LANGUAGE="JAVASCRIPT"&gt;
&lt;!--
 
var now = new Date();
var mName = now.getMonth() +1 ;
var dName = now.getDay() +1;
var dayNr = now.getDate();
var yearNr=now.getYear();
if(dName==1) {Day = "Domingo";}
if(dName==2) {Day = "Segunda-feira";}
if(dName==3) {Day = "Terça-feira";}
if(dName==4) {Day = "Quarta-feira";}
if(dName==5) {Day = "Quinta-feira";}
if(dName==6) {Day = "Sexta-feira";}
if(dName==7) {Day = "Sábado";}
if(mName==1){Month = "Janeiro";}
if(mName==2){Month = "Fevereiro";}
if(mName==3){Month = "Março";}
if(mName==4){Month = "Abril";}
if(mName==5){Month = "Maio";}
if(mName==6){Month = "Junho";}
if(mName==7){Month = "Julho";}
if(mName==8){Month = "Agosto";}
if(mName==9){Month = "Setembro";}
if(mName==10){Month = "Outubro";}
if(mName==11){Month = "Novembro";}
if(mName==12){Month = "Dezembro";}
if(yearNr &lt; 2000) {Year = 1900 + yearNr;}
else {Year = yearNr;}
var todaysDate =(" " + Day + ", " + dayNr + "/" + Month + "/" + Year);
 
document.write('  '+todaysDate);
 
//--&gt;
&lt;/SCRIPT&gt;
 
&nbsp;&nbsp;
&lt;SPAN ID="Clock"&gt;00:00:00&lt;/SPAN&gt;
 
&lt;SCRIPT LANGUAGE="JavaScript"&gt;
&lt;!--
  var Elem = document.getElementById("Clock");
  function Horario(){
    var Hoje = new Date();
    var Horas = Hoje.getHours();
    if(Horas &lt; 10){
      Horas = "0"+Horas;
    }
    var Minutos = Hoje.getMinutes();
    if(Minutos &lt; 10){
      Minutos = "0"+Minutos;
    }
    var Segundos = Hoje.getSeconds();
    if(Segundos &lt; 10){
      Segundos = "0"+Segundos;
    }
    Elem.innerHTML = Horas+":"+Minutos+":"+Segundos;
    }
    window.setInterval("Horario()",1000);
//--&gt;
&lt;/SCRIPT&gt;
 
&lt;/body&gt;
&lt;/html&gt;
M

se vc tiver usando o primefaces, da uma olhada nesse componente

http://www.primefaces.org/showcase/ui/poll.jsf

aí é só criar um método pra incrementar a hora

E

Opa valeu amigos.

Eu estou usando richFaces vc sabe se tem algum componente que faça?

M

http://livedemo.exadel.com/richfaces-demo/richfaces/poll.jsf?c=poll&tab=usage

inclusive o exemplo que ele usa é o que vc ta precisando

G

oi, gostaeia de levar a hora actual do sistem e colocar num testfiled mas no IDE. nao numa pagina. obrigado…

M

gil macarringue, isso deve te ajudar

E

Marcos to tentando utilizar da forma que esta no demo, mas to apanhando aqui, vc consegue me ajudar?
Pois eu nao tenho um commandButton para startar a hora assim que entro na pagina ja teria que estar mostrando o relogio.

<h:form id="form"> <a4j:poll id="poll" interval="500" enabled="true" reRender="form" /> <h:outputLabel value="#{produtosDiaBB.dataAtual}"> <f:convertDateTime pattern="dd/MM/yyyy HH:mm:ss" timeZone="America/Sao_Paulo" /> </h:outputLabel> </h:form>

E

Consegui aqui, valeu!

Criado 23 de fevereiro de 2012
Ultima resposta 23 de fev. de 2012
Respostas 8
Participantes 4