jsf bean erstellen die mir die aktuelle uhrzeit ausgibt als xhtml

gehdecke

Mitglied
Hallo ich wollte gerne eine JSF Seite (Bean ) erstellen die mir wenn ich Sie aufrufe die Uhrzeit ausgibt.

Java:
@ManagedBean
@SessionScoped
public class TimeBean  {

    Date date=new Date();

        public Date getDate() {
        return date;

Html Datei
Java:
<div id="time"></div>
        <button onclick="getTime();">Aktualisieren</button>
        <script type="text/javascript" src="script.js"></script>
und hier die .js datei

Java:
function getXmlHttpRequestObject()
{
    if(window.XMLHttpRequest)
    {
        return new XMLHttpRequest();
    }
    else if(window.ActiveXObject)
    {
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
    else
    {
        alert('Ajax funktioniert bei Ihnen nicht!');
    }
}

function getTime()
{
    if(req.readyState == 4 || req.readyState == 0)
    {
        req.open('GET', '/TimeBean.java', true);
        req.setRequestHeader("Content-Type","text/plain");
        req.onreadystatechange = setMessage;
        req.send(null);
    }
}

function setMessage()
{
    if(req.readyState == 4)
    {
        var response = eval('(' + req.responseText+ ')');
        document.getElementById('time').innerHTML = response.time;
    }
}

kann mich mal jemand anschupsen🙂

Dat klappt bei mir aber leider nicht
 
so ich habe nun soweit das ich die Uhrzeit sehen kann. Wie kann ich nun aber ein JS in einer xhtml seite mit AJAX aufrufen. Der JavaScript liegt aber an einer ander Stelle.

HTML:
<script type="text/javascript" src="script.js"></script>
    <h:outputText id="Uhrzeitanzeige" value="Uhrzeit ist: #{testBean.time}"/>
    <div id="time1"></div>
    <body>

kann mir jemand helfen?

der Script soll immer ausgeführt werden wenn ich die Seite lade oder aktuallisiere.

Danke sehrrrrrrrrrrrrrrrrrrrrr
 
JSF-AJAX

Wenn immer der aktuelle Zeitstempel angezeigt werden soll wenn die Seite aufgerufen wird musst du einfach den Scope der Bean von Session auf View oder Request ändern.

PS: Schöner ist natürlich:

Java:
	<h:outputText value="#{testBean.date}">
	     <f:convertDateTime pattern="dd.MM.yyyy" />
	</h:outputText>
 
Zuletzt bearbeitet:
Ja danke. Ich habe aber nun zur Übung eine DateBean gebaut und ein Uhr.js sowie eine Uhr.xhtml nun will ich einfach noch die Uhr.xhtml in ein div laden🙂 hast du da eine Idee? ich will es ja lernen🙂 aber danke für den Vorschlag
 
Du hast für den Code von JimPanse ein eigenes Template gebaut? Das ist kaum notwendig.

Wenn Du ein wenig Code zeigst, kann man Dir vielleicht mehr helfen.
 

Zurück
Oben