Saudações!
Estou tendo dificuldade em recuperar valores de sessão com javascript em uma página xhtml.
O problema:
Preciso exibir para o usuário um contator que cronometre o tempo de atendimento. Por enquanto, esse contador está em javascript, pois roda no cliente e não “engasga”, exibindo a passagem de tempo em cada segundo. Mas, cada vez que uma outra aba é explorada e, ou, formulário, o script retoma a contagem com as variáveis zeradas, claro. O projeto utiliza seam, jsf e richfaces.
A tentativa de solução:
Escrevi um método em uma classe que retorne o tempo, e que chamo cada vez que outras abas da funcionalidade são exploradas. o javascript recuperaria esse tempo e continuaria a contagem apartir de então. Mas não estou conseguindo recuperar com o javascript. A página é um .xhtml.
na página:
<a4j:loadScript src="/js/ContagemTempoAtendimento.js" rendered="#{registroAtendimentoHome.started}"/>
<div style="position: absolute; top: 25%; left: 24%; font: 20px Arial Black" id="lugarExibTempo"/>
na classe:
long time = new Date().getTime() - instanteInicioAtendimento.getTime();
segundo = (int) (time / 1000) % 60;
minuto = (int) (time / (1000*60)) % 60;
hora = (int) (time / (1000*60*60));
FacesContext context = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) context.getExternalContext().getSession(true);
session.setAttribute("segundo", segundo);
session.setAttribute("minuto", minuto);
session.setAttribute("hora", hora);
no javascript:
var hora = <%=request.getSession().getAttribute("hora")%> //Isso não funciona. E não posso usar jsp
var min = <%=request.getSession().getAttribute("minuto")%> //Como recuperar essas variáveis?
var seg = <%=request.getSession().getAttribute("segundo")%>
function init(){
document.getElementById("lugarExibTempo").innerHTML = horas() + ":" + minutos() + ":" + segundos();
}
//(...)
Então… gostaria de saber se essa abordagem é pertinente como solução para o problema e, caso seja, como fazê-la funcionar. Caso não, gostaria de ter sugestão melhor.
muito, muito grato
Saúde e felicidades a todos