<ctrl:tabbar>
Der Body der Taben wird ignoriert!
Attribut | Typ | Beschreibung | Pflicht | RTExp |
action | String |
Gibt die Struts Action an, welche bei Kontrollelement Ereignissen
aufgerufen werden soll.
Dieses Attribut muss nicht angegeben werden, wenn das Tag von einem Struts <html:form> Tag umschlossen ist. in diesem Fall wird der Name der Action über die Struts Formular Bean ermittelt. Anmerkung: Die Action muss in einer der struts-config.xml Dateien deklariert sein. |
![]() |
|
ajax![]() | Boolean |
Aktiviert die AJAX Funktion des Kontrollelementes. Alle
Kontrollelement Ereignisse werden dann mit JavaScript asynchron
an den Server gesendet und dort verarbeitet.
Die Verarbeitung auf dem Server unterscheidet sich nicht von einer normalen Request Behandlung. Der Anwendungsentwickler hat jedoch die Möglichkeit über die Methoden des AjaxRequest Interfaces (Basisklasse von ActionContext) die Ergebnis Rückmeldung zu steuern. Im Normalfall (-> AjaxRequest.isAjaxCanceled() == false) wird ein Delta XML Stream zum Web Browser zurückgeschickt. Dieser Stream enthält nur die schmutzigen Kontrollelemente, welche dann mit Hilfe eines JavaScript Handlers vom Web Browser im HTML DOM Tree selektiv ausgetauscht werden. Es wird also keine vollständige HTML Seite vom Server übertragen!
Die meisten Kontrollelemente fügen sich selbst in die Dirty Liste des ActionContext ein. Hierzu wird einfach die Methode AjaxRequest.markDirty() aufgerufen. Der Anwendungsentwickler hat damit die Möglichkeit noch weitere Kontrollelemente - die durch eine Zustandsänderung ebenfalls schmutzig geworden sind - in den Delta Stream aufzunehmen Wenn der Request eine vollständig neue HTML Seite zurückgeben soll, dann besteht auch die Möglichkeit die AJAX Verarbeitung auf dem Server abzubrechen. Hierzu wird die Methode AjaxRequest.cancelAjaxRequest() aufgerufen. Das Framework sendet danach immer eine vollständige HTML Seite zurück an den Web Browser. Das Common-Controls AJAX XML Protokoll hat das folgende Format: <?xml version="1.0" encoding="UTF-8" ?> <ajax-response> <token/> <controls> <control styleId="" class="" name=""> <html> <[CDATA[...]] > </html> </control> </controls> </ajax-response> |
![]() |
|
bgcolor | String |
Setzt die Hintergrundfarbe für das Kontrollelement.
Achtung: für die angegebene Farbe müssen entsprechende Image Ressourcen für den DefaultPainter vorhanden sein - Beispiel /fw/def/image/tab/tabLSel_<<Farbname>>.gif Anmerkung: Es muss ein gültiger HTML-Farbcode angegeben werden. Das kann ein Farbcode wie #ff0000 oder ein Farbname wie beispielsweise red sein |
![]() |
|
border | Integer | Gibt die Stärke des Rahmens an, welcher um das Kontrollelement gezeichnet werden soll. |
![]() |
|
disabled | Boolean | Über dieses Attribut kann das Kontrollelement deaktiviert werden. Es nimmt dann keine Benutzereingaben entgegen und erzeugt keine Kontrollelement Ereignisse. |
![]() |
|
filter | boolean | Dieses Flag gibt an ob eine HTML-Konvertierung der Taben Beschriftungen durchgeführt werden soll. |
![]() |
|
formElement | Boolean |
Über dieses Attribut wird gesteuert, wie sich das
Kontrollelement im Falle einer Benutzer Aktion verhalten soll.
Anmerkung:
Der Wert |
![]() |
|
height | String |
Setzt die Höhe des Kontrollelmentes. Die Höhe kann absolut oder
prozentual angegeben werden.
Es hängt von dem jeweiligen Kontrollelement Painter ab, ob dieses Attribut ausgewertet wird. Siehe HTML-Dokumentation |
![]() |
|
id | String |
Weist dem Kontrollelement einen eindeutigen Bezeichner zu.
Im Tag Body wird daraufhin eine Java Variable angelegt, auf
die in Java Scriptlets zugegriffen werden kann.
Diese Variable verweist auf die Kontrollelement Instanz
(abgeleitet von Control).
Dieses Attribut wird meist in Verbindung mit dem type Attribut verwendet Anmerkung: Da zur JSP Compile Zeit eine Java Variable mit diesem Bezeichner angelegt wird, muss hier ein String Literal (und keine Expression!) angegeben werden! Der Bezeichner muss den Regeln für gültiger Java Bezeichner folgen. |
![]() |
|
imagemap | String |
Mit diesem Attribut wird der Tab-Leiste eine Imageliste zugewiesen,
mit deren Hilfe den einzelnen Taben Images zugeordnet werden
können.
Die Image Zuordnung wird direkt im <tab>-Element angegeben, wobei implizit die Suffixe .sel bzw. .unsel angehängt werden, um zwischen dem selektierten und unselektierten Zustand unterscheiden zu können Anmerkung: Unter dem Namen muss eine ImageMap im Request abgelegt sein |
![]() |
|
labellength | Integer |
Gibt die Maximale Zeichenzahl für die Labels der
Taben an. Wenn ein Label länger ist, dann wird es
mit "..." abgekürzt.
Dieses Attribut wird nur dann berücksichtigt, wenn das filter-Attribut auf true eingestellt ist |
![]() |
|
locale | String |
Weist das Kontrollelement an alle angegebenen
Zeichenkettenliterale als Schlüssel für Textressourcen zu
interpretieren.
Die folgenden Werte sind möglich:
Bei aktivierter Lokalisierung werden die angegebenen Schlüssel von dem registrierten FrameworkAdapter (eine Interface Klasse) mit Hilfe der überschreibbaren localizeKey() Methode übersetzt. Der mitgelieferte StrutsFrameworkAdapter verwendet die in der struts-config.xml registrierten Message Resource Bundles für die Übersetzung des Ressourcen Schlüssels. Zeichenketten die mit einem "#"-Zeichen beginnen werden grundsätzlich nicht lokalisiert (Das "#"-Zeichen wird jedoch abgeschnitten). Alle Zeichenketten die von einem DataModel zurückgeliefert werden, sind ebenfalls von dem Lokalisierungsmechanismus ausgeschlossen, da dies in den Aufgabenbereich der Applikation fällt. |
![]() |
|
name | String |
Gibt den Namen der Java-Bean - eine Instanz der Klasse
Control.
Die Java-Bean muss im angegebenen Scope abgelegt sein.
Wenn das Tag von einem Struts <html:form> Tag umschlossen ist, dann muss kein Bean Name angegeben werden. In diesem Fall wird die Java-Bean über ein Property der Struts Formular Bean gezogen. Anmerkung: Es muss ein gültiger Java Bezeichner angegeben werden. |
![]() |
|
overlapping | boolean | Dieses Flag gibt an ob die Taben überlappend gezeichnet werden sollen. |
![]() |
|
permission | ACL |
Mit diesem Attribut kann der Zugriff auf das Element
beschränkt werden.
Berechtigungen werden über das Principal Objekt in der Benutzer Session geprüft. Das Principal Objekt wird mit der Methode SecurityUtil.registerPrincipal() in der Session registriert. Es wird vom Anwendungsentwickler durch Implementierung des Principal Interfaces zur Verfügung gestellt. Somit lassen sich sehr einfach beliebige Berechtigungssysteme mit dem Framework verbinden. Berechtigungen werden immer in Form einer Access Control List (ACL) angegeben. Dabei handelt es sich um einen Ausdruck dessen Elemente Einzelberechtigungen sind. Das Framweork unterstützt die folgenden Berechtigungstypen, welche jedoch vom Anwendungsentwickler beliebig erweitert werden können:
Zur Formulierung der Ausdrücke kann die folgende Syntax verwendet werden: PERMISSION_PREFIX : '#' | '$' AND_OP : 'and' | '&' | '*' XOR_OP : 'xor' | '^' OR_OP : 'or' | '|' | '+' UNARY_OP : '~' | '!' permission : PERMISSION_PREFIX IDENTIFIER primary_expr : permission | '(' expr_list ')' unary_expr : primary_expr | UNARY_OP primary_expr logical_and_expr : unary_expr | logical_and_expr AND_OP unary_expr logical_xor_expr : logical_and_expr | logical_or_expr XOR_OP logical_and_expr logical_or_expr : logical_xor_expr | logical_or_expr OR_OP logical_xor_expr expr_list : logical_or_expr | expr_list ';' logical_or_expr | expr_list ',' logical_or_expr Access Control Listen werden mit der statischen Methode AccessControlList.parse() eingelesen. Der Parser verwendet wiederum die statische Methode PermissionFactory.parse() um die einzelnen Permissions zu lesen. Der Anwendungsentwickler kann über die PermissionFactory eigene von Permission abgeleitete Klassen registrieren und so den Sprachumfang der ACL erweitern. |
![]() |
|
property | String |
Gibt den Namen des Properties an, über welchen auf
die Java-Bean zugegriffen werden soll. Dies ist in
der Regel nur dann notwendig, wenn die Java-Bean
mit einer Struts Formular Bean assoziiert ist.
Anmerkung: Es muss ein gültiger Java Bezeichner angegeben werden. |
![]() |
|
runat | RunAt |
Dieses Attribut gibt an, ob für das Kontrollelement
JavaScript verwendet werden soll, oder ob das Kontrollelement
ausschließlich mit Server Roundtrips arbeiten soll.
|
![]() |
|
scope | HttpScope |
Dieses Attribut gibt den Scope an, in welchem die Java-Bean
mit den eigentlichen Anzeigedaten zu finden ist.
|
![]() |
|
shadow | Boolean |
Gibt an ob das Kontrollelement mit einem Schatten hinterlegt
werden soll.
Diese Funktion ist nur bei bestimmten Painterfactories verfügbar |
![]() |
|
stacked![]() | Boolean |
Schaltet die gestapelte Anzeige der Taben an oder aus.
Das Attribut stacked ist immer in Verbindung
mit dem Attribut tabs zu verwenden.
|
![]() |
|
style | String |
Über dieses Attribut kann direkt ein HTML-style
Attribut angegeben werden.
Anmerkung: Siehe HTML Dokumentation für das Attribut style. |
![]() |
|
styleClass | String |
Über dieses Attribut kann direkt ein HTML-class
Attribut angegeben werden.
Anmerkung: Siehe HTML Dokumentation für das Attribut class. |
![]() |
|
styleId | String |
Über dieses Attribut kann direkt ein HTML-id
Attribut angegeben werden.
Anmerkung: Siehe HTML Dokumentation für das Attribut id. |
![]() |
|
summary | String | Gibt einen nicht sichtbaren Summary zu dem Kontrollelement auf der HTML Seite aus. Diese Information kann von speziellen Anzeigegeräten dargestellt werden - zum Beispiel als Sprachausgabe oder Braille Schrift. |
![]() |
|
tabindex | Integer | Legt den Tabulator Index für dieses Element fest. |
![]() |
|
tabs | Integer |
Gibt die Anzahl der gleichzeitig angezeigten Taben an.
Je nach Anzeigemodus hat dies die folgenden Auswirkungen
|
![]() |
|
transaction | Boolean |
Mit diesem Flag wird angegeben ob ein Transaction Token
(siehe Struts Token Dokumentation) an alle
Hyperlinks des Kontrollelementes angehängt werden soll.
Mit dem Transaction Token können Form Re-submissions (mehrfaches Absenden eines HTML Formulars) erkannt werden.
Funktionsweise: Das Transaction Token is ein "Stempel"
mit welchem die Applikation jede generierte HTML Seite stempelt
(es wird ein hidden Field bzw. zusätzliche URL Parameter
für alle Hyperlinks erzeugt).
Bei einem Server Request kann der vom Browser zurückgeliefert
Stempel mit dem in der Session gespeicherten Wert verglichen
werden. Wenn der Wert übereinstimmt, dann passt die Seite zum
aktuellen Applikations Zustand. |
![]() |
|
value | String | Über dieses Attribut kann die selektierte Tabe direkt in der JSP-Seite angegeben werden. |
![]() |
|
width | String |
Setzt die Breite des Kontrollelmentes. Die Breite kann
absolut oder prozentual angegeben werden.
Siehe HTML-Dokumentation |
![]() |
Ereignis | Beschreibung |
TabClick |
public void control_onTabClick( ControlRequestContext ctx, String tabId) throws Exception |