Witam, mam problem nie umiem poprawnie osadzić zegara sesji w znaczniku <c:composition>. Rozwiązałem swój problem na skróty ale są problemy z sensownym wyświetlaniem.
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsp/jstl/functions"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
<ul style="display: inline-block; margin-right: 65%;">
<h:form>
<!-- style="background-color: forestgreen"-->
<c:if test="#{loginBean.checkLaws() != 0}">
<li class="inline" style="background-color: forestgreen">
<h:commandLink style="color: white" value="Wyloguj" action="#{loginBean.logout()}" disabled="false" />
</li>
</c:if>
<c:if test="#{loginBean.checkLaws() == 0}">
<li class="inline" style="background-color: forestgreen">
<h:outputLink style="color: white" value="/System/faces/user/login_success.xhtml" disabled="false" >
Zaloguj</h:outputLink></li>
</c:if>
</h:form>
</ul>
<table style="float: right; font-size: 14px;">
<tr>
<span style="font-size: 14px; font-family: 'ubuntulight';">
Zalogowany jako: <h:outputText style="color: gold" value="#{loginBean.login}" />
</span>
</tr>
<tr>|</tr>
<c:if test="#{loginBean.checkLaws() != 0}">
<tr>
<span style="font-size: 14px; font-family: 'ubuntulight';"> Czas do końca sesji:
<iframe scrolling="no" src="../resources/js/clock.html"></iframe>
</span>
</tr>
</c:if>
</table>
</ui:composition>
Zegarek jest krzywo i nie mogę np. zrobić przekierowania po zakończeniu sesji.
Sam zegarek działa prawie idealnie, prawie robi tu wielką różnice, czyli np. nie wyświetla "00" a przy 3 minutach coś zaczyna się kopsać
var min=15;
var sec=60;
function timeMin() {
if(min===0) {
location.href="http://localhost:8080/System/faces/index.xhtml";
} else {
min--;
document.getElementById('min').innerHTML=(min < 15) ? (0 + min) : min;
setTimeout("timeMin();", 60000);
}
}
function timeSec() {
if(sec > 54000) {
location.href="http://localhost:8080/System/faces/index.xhtml";
} else {
sec--;
document.getElementById('sec').innerHTML=(sec < 54000) ? (0 + sec) : sec;
setTimeout("timeSec();", 1000);
if (sec === 0) {
sec = 60;
}
if (sec < 10) {
document.getElementById('sec').innerHTML=(sec < 54000) ? ("0" + sec) : sec;
}
}
}
Problem jest nietypowy ale też nie taki złożony, proszę o wskazówki. Dzięki