This page (revision-7) was last changed on 16-Dec-2013 18:52 by Dieter Käppel

This page was created on 18-Aug-2013 15:27 by Dieter Käppel

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
7 16-Dec-2013 18:52 20 KB Dieter Käppel to previous
6 16-Dec-2013 18:52 20 KB Dieter Käppel to previous | to last
5 03-Sep-2013 08:27 19 KB Dieter Käppel to previous | to last
4 03-Sep-2013 07:26 18 KB Dieter Käppel to previous | to last
3 21-Aug-2013 13:19 17 KB Dieter Käppel to previous | to last
2 21-Aug-2013 07:26 17 KB Dieter Käppel to previous | to last
1 18-Aug-2013 15:27 17 KB Dieter Käppel to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 3 added 4 lines
!!!Inhalt
[{TableOfContents title='Page contents' numbered='true'}]
!!!Übersicht
At line 13 changed 2 lines
|Anzahl|Der Scope ist durch den Tag festgelegt und kann nur geladen (load) und entladen (unload) werden.|Der Scope kann beliebig oft durch einen Load-Tag instantiiert werden. Dadurch sind unabhängige und sich wiederholende Popups realisierbar.
|Scope-Id|Der Load-Tag referenziert den Scope direkt über seine Scope-Id.|Dem Scope kann über den Load-Tag eine Id zugewiesen werden, wiederholte Load-Actions greifen damit auf denselben Scope zu. Wird keine Scope-Id zugewiesen, erzeugt jeder Load-Tag einen neuen Scope.
|Anzahl|Der Scope ist durch den Tag festgelegt und kann nur geladen (load) und entladen (unload) werden.|Der Scope kann beliebig oft durch einen Load-Tag instantiiert werden. Dadurch sind unabhängige und mehrfach verwendbare Popups realisierbar.
|Scope-Id|Der Load-Tag referenziert den Scope direkt über seine Scope-Id.|Dem Scope kann über den Load-Tag eine Id zugewiesen werden, wiederholte Load-Actions greifen damit auf denselben Scope zu. Wird keine Scope-Id zugewiesen, erzeugt jeder Load-Tag einen neuen Scope und damit ein neues Element im Browser.
At line 19 changed one line
!!!Freien Scope erzeugen
!!!Scope erzeugen
In der Regel können freie Scopes verwendet werden, wenn mit Popups, frei beweglichen oder statisch platzierten Elementen gearbeitet wird.
At line 29 changed one line
!!!Direkter Scope
__Hinweis:__ Freie Scopes werden unterhalb des Body-Tags in den Component-Tree eingefügt. Dies hat den Vorteil, dass kein zusätzlicher Tag <e:scope> auf der Seiten eingefügt werden braucht.
!!!Gebundenen Scope erzeugen
In Fällen, in denen ein Scope an eine bestimmte Stelle im Component-Tree platziert wird, kann der Scope mit dem Tag <e:scope> platziert werden. Der Scope hat damit bereits eine eindeutige Id bekommen und kann nur noch einmal auf der Seite vorhanden sein:
At line 38 changed one line
Die Scopes sind eines der mächtigsten Features im [JSF Ext]. Ein Scope wird zunächst im XHTML definiert:
Die Scopes sind eines der mächtigsten Features im [JSF Ext].
At line 50 added 2 lines
Ein Scope wird zunächst im XHTML definiert:
At line 377 added 15 lines
!!!Lifecycle
Scopes sind Lifecycles unterworfen, da enthaltene Objekte wieder freigegeben werden müssen. Je nachdem target Lifecycle (Request, View, Page, Session oder Application), wird ein Scope nach unterschiedlich langer Lebenszeit wieder entfernt. Verantwortlich dafür sind sogenannte Destruction-Callbacks. Diese werden vom Scope-Manager aufgerufen, bevor ein Scope entfernt wird. Der Scope enthält dadurch die Möglichkeit, Ressourcen frei zu geben.
!!Veraltet: ExtRequestContextListener
Die Klasse wird nicht mehr benötigt. In der web.xml sollte wieder der Standard Spring-Listener org.springframework.web.context.request.RequestContextListener eingetragen werden.
!!Lifecycle
Scopes können an unterschiedliche Lifecycles gebunden werden. Dies wird durch das Load-Attribut "lifecycle" festgelegt. Folgende Werte stehen zur Verfügung:
* __Request:__ Der Scope wird nach Beenden des Requests wieder entfernt. Wird selten benutzt, da mit Request-Annotierte Controller ohnehin nach einem Request wieder abgebaut werden. Ein Anwendungszweck ist, mehrere identische Components voneinander zu isolieren.
* __View:__ Der Scope ist nur innerhalb des View-Context verfügbar. Der Scope ist also nach Neuladen der Web-Page nicht mehr verfügbar. In der Regel ist erwünscht, dass Popups und andere dynamische Scope-Elemente einen Refresh überleben, dafür ist der Page-Lifecycle verwendbar. Der View-Lifecycle kann verwendet werden für parameterisierte HTTP-GET-Pages.
* __Page:__ Dies ist der Default-Lifecycle. Der Scope ist auf die Page mit der View-Id gebunden. Neuladen der Page hat keine Auswirkungen auf den Scope. Popups und andere Scope-Elemente bleiben bei Browser-Refresh erhalten.
* __Session:__ Der Lifecycle erstreckt sich auf die gesamte User-Session. Dieser Lifecycle kann verwendet werden, um Popups und andere Elemente auf jeder Seite eines eingeloggten Benutzers anzuzeigen. Dies können beispielsweise Chat- oder Informations-Elemente sein.
* __Application:__ Dieser Lifecycle geht über die gesamten eingeloggten bzw. anonym verbundenen Benutzersessions. Damit können Daten über die gesamte Applikation genutzt werden, jedem Nutzer wird dasselbe Element angezeigt. Es ist geplant, dass dieser Lifecycle noch weiter ausgebaut wird, insbesondere für AJAX-Push Anwendungen.