Dieses Blog durchsuchen

Freitag, 17. Februar 2012

Wichtiger Link für JSF-Entwickler

Ein wichtiger Link für JSF-Entwickler (im deutsch-sprachigen Raum):


http://javathreads.de/2008/10/die-wichtigsten-utf-8unicode-sonderzeichen-fuer-die-entwicklung-mit-facelets/

Warum? Bei der Entwicklung mit Facelets ist es (zumindest meinem Kenntnisstand nach) nicht möglich deutsche Sonderzeichen in den messages.properties Dateien zu verwenden, auch die Verwendung von named entities (ö) ist nicht möglich. Von daher muss man sich mit Unicode Zeichen begnügen. Die wichtigsten sind in der 2. Spalte (UTF-8-Codierung) aufgeführt.

Das Rich Faces rich:tabPanel und Tastatur-Steuerung

Richfaces bietet eine sehr schöne Möglichkeit, große Mengen an Informationen übersichtlich bereitzustellen. Dazu gibt es die Komponente rich:tabPanel, womit der Inhalt auf verschiedene Karteireiter verteilt werden kann.

Jeder Reiter wird innerhalb vom rich:tabPanel über ein rich:tab definiert. Der Aufbau sieht dann wie folgt aus:

<rich:tabPanel id="tab_panel">
        <rich:tab label="Tab 1" title="Alt+1" id="tab_1" name="tab_1">
                ...
        </rich:tab>

        <rich:tab label="Tab 2" title="Alt+2" id="tab_2" name="tab_2">
                ...
        </rich:tab>
</rich:tabPanel>
 
Sind die Informationen übersichtlich dargestellt, ist es zudem möglich, die einzelnen
Tabs über die Tastatur direkt anzusteuern. (dies kann gerade bei Eingabeformularen,
die ausschließlich über Tastatur bedient werden sollen, sinnvoll sein)
 
Dazu werden sogenannte rich:hotKeys definiert:
 
<rich:hotKey key="ALT+1" handler="RichFaces.switchTab('tab_panel','tab_1','tab_1')"/>
<rich:hotKey key="ALT+2" handler="RichFaces.switchTab('tab_panel','tab_2','tab_2')"/>
 
In diesem Beispiel wird mit Hilfe des rich:hotKey Tags die Tastenkombination
ALT+1 (bzw. ALT+2) definiert, die dann den Aufruf einer Java-Script Funktion auslöst
und den entsprechenden Tab direkt ansteuert. Die Argumente der Java-Script Funktion
sind die ID des Tab-Panels, die ID des Tabs und der Name des Tabs.