# JavaScript und JSF - Diashow



## Bluevelvet64 (3. Mrz 2008)

Hallo

in einer Webaplikation die auf Apache läuft ( also HTML ) habe ich eine Diashow mit JavaScript laufen.  Ich Applikation habe ich nun in JSF umgesetzt. Die Diashoe läuft nun nur noch teilweise. Folgendermassen zeigt sich das Problem.

In einer Tabelle binde ich 4 seperate HTML ( bzw. JSP ) Seiten untereinander über ein Frameset ( HTML ) bzw über Subview ( JSF ) ein. In allen 4 Seiten wird das Javascript gestartet das eine bestimmte Anzahl von Bildern lädt und dann in einem Zeitintervall nacheinander in den 4 Seiten darstelllen soll. Erreichen will ich das in den 4 teilseiten die Bilder wie bei einer Diashow angezeigt werden. In HTML geht das auch aber in JSF läuft immer nur eine Diashow, die anderen werden nicht gestartet. Der einzige Unterschied in den Quellen ist, das eine ist HTML und ein Frameset das andere ist JSF und subview.

Wenn jemand einde Idee hat wie 4 unterschiedliche Diashows in JSF in einer Seite realiesieren kann, wäre ich für einen Tip sehr dankbar


----------



## HeRaider (3. Mrz 2008)

Bin mir nicht sicher ob das funktioniert aber hast du es vielleicht schon mal mit Threads probiert (wenn das in Kombination mit JSF überhaupt problemlos geht)?


----------



## Bluevelvet64 (3. Mrz 2008)

würden hier nichts bringen. Dann müsste ich ja jede Sekunde die Seite aktualisieren. Bedeutet zu viel Datentransfer. Der Javascript Code läuft ja, nur das in JSF nur eine von den 4 teilseiten das Script aktiviert. Da es in HTML geht, sollte es in JSF auch gehen.


----------



## maki (3. Mrz 2008)

Framesets und Subviews sind 2 vollkommen verschiedene Dinge, abgesehen davon sind Frames sch..... 

Jeder Frame ist ein eigenes HTML Dokument, ein Frame wird quasi in einem eigenen Browser angezeigt.
Anders bei subviews, sie werden zu einem einzigen HTML Dokument verarbeitet und dann an den Client geschickt.

Dadurch braucht man grundverschiedene ansätze wenn man etwas mit HTML und Framesets anzeigen will, oder es mit JSF macht.


----------



## Bluevelvet64 (3. Mrz 2008)

Danke für Deinen Hinweis, aber das ist mir schon klar. ich denke das es auch daran scheitert.


----------



## maki (3. Mrz 2008)

Wenn du versuchst dieselbe Logik wie mit Framesets zu verwenden, musst du scheitern.

Mit JSF muss man umdenken, in Richtung Swing und nicht in  Richtung HTML.


----------



## Bluevelvet64 (3. Mrz 2008)

Hallo,

es sollte denoch möglich sein, das das javascript nicht nur einmal sondern auch mehrmals startet. habe auch schon das script 2 mal mit verschienden Namen gespeichert und dann nur 2 subviews mit jeweils einem der schripts gestartet, so das das gleiche script nicht dopplet gestartet wird. Ging aber auch nicht.

Und es ist nicht ganz richtig in richtung swing zu denken, da am Ende aus den JSF Seiten zwar zunächt Java-Code dann aber HTML Code erzeugt wird. 

Danke für eure Antworten


----------



## maki (3. Mrz 2008)

> Und es ist nicht ganz richtig in richtung swing zu denken, da am Ende aus den JSF Seiten zwar zunächt Java-Code dann aber HTML Code erzeugt wird.


Falsch, funktionieren tut JSF wie Swing, nicht wie HTML, JSF ist sogar unabhängig davon ob HTML, XHTML oder eine andere GUI verwendet wird.

Was daberi rauskkommt ist eine Sache, hat nix mit der drunterliegenden Technologie zu tun.

Sind schon viele HTML Designer drüber gestolpert...


----------



## Bluevelvet64 (3. Mrz 2008)

Da die Ausgabe in einem Browser erfolgt, ist der erzugte Code immer HTML. Sonst gäbe es wohl auch keinen HTML Source Code den ich mir ansehen könnte.

und ich würde zum beispiel kein JavaScript benötigen wenn ich einen actionlink anstatt einem actionbutton  verwende und damit auf eine andere Seite zu verlinken. actionbutton entspricht dem button in html und sendet einen submit sctionlink kann das nicht und verwendet javascript. 

daher muss ich immer in HTML denken, wenn ich Seiten entwickle, bedeutet z.B das eine Seite keine verbindung zum Server hat nachdem diese gesendet wurde. Eine swing basierende Anwendung hat eine verbindung zu Logik und kann so ständig aktualisiert werden und sich selbst neue Daten holen. Eine JSF Seite in einem Browser ist eine ganz normale HTML Seite mit allen Einschränkungen.


----------



## maki (3. Mrz 2008)

Ist dir schon mal gekommen dass deine Probleme aus deiner falschen Sichtweise resultieren?

Du scheinst immer noch nicht die Darstellung von der eigentlichen Verarbeitung zu trennen.

JavaScript direkt in JSF reinzuschreiben ist wirklich selten und eigentlich total "un-JSF".

Wenn du JSF verwendest dann sollte deine Managed Bean die Slideshows bereitstellen, nicht HTML Dateien auf dem Server.

Wenn du in HTML denkst bist du bei JSF falsch.


----------

