Die Common-Controls Tag Bibliothek

<ctrl:tab>

Erzeugt eine Tabe (Reiter) für ein Tabset Kontrollelement. Der Inhalt der Tabe kann entweder direkt im Tag-Body oder in Form eines JSP-Includes angegeben werden.
Das <tab>-Tag darf nur innerhalb von einem <tabset>- oder <tabbar>-Tag angegeben werden.

Body content: JSP
Tag class: TabTag
Tei class: TabTei
 

[ Syntax ]

Standard Syntax
<ctrl:tab
title = "String"
[ action = "String" ]
[ bgcolor = "String" ]
[ content = "String" ]
[ enable = "boolean" ]
[ id = "String" ]
[ imageref = "String" ]
[ onblur = "String" ]
[ onchange = "String" ]
[ onclick = "String" ]
[ oncontextmenu = "String" ]
[ ondblclick = "String" ]
[ onfocus = "String" ]
[ onkeydown = "String" ]
[ onkeypress = "String" ]
[ onkeyup = "String" ]
[ onmousedown = "String" ]
[ onmousemove = "String" ]
[ onmouseout = "String" ]
[ onmouseover = "String" ]
[ onmouseup = "String" ]
[ permission = "ACL" ]
[ tabid = "String" ]
[ target = "String" ]
[ tooltip = "String" ]
>
...Body Content...

</ctrl:tab>
 

[ Attribute ]

AttributTypBeschreibungPflichtRTExp
actionString Gibt die Struts Action an welche bei Selektion der Tab durch den Benutzer ausgeführt werden soll. Wenn keine Aktion angegeben wurde, dann wird die Aktion des umschliesenden <tabset>-Tags aufgerufen.

Anmerkung: Die Action muss in einer der Struts-config.xml Dateien deklariert sein.

 
bgcolorString Gibt die Hintergrundfarbe der Tabe an. Jede Tabe kann damit in einer anderen Farbe dargestellt werden.

Achtung: für die angegebene Farbe müssen entsprechende Image Ressourcen für den default Painter 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

 
contentString Der eigentliche Body der Tabe kann auf zwei Arten angegeben werden:
  • Direkt innerhalb des <tab></tab>-Tag
  • Als Verweis auf eine andere JSP-Seite. Der Verweis wird in dem content-Attribut angegeben

Anmerkung: Muss auf eine gültige Web Ressource verweisen

 
enableboolean Dieses Attribut gibt an ob die Tabe selektiert werden kann.  
idString 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.

 
imagerefString Verweis auf ein Element der ImageMap des Tabsets. Das Image wird vor dem Label der Tabe gezeichnet.

Der Painter hängt dem imageref-Wert implizit die Suffixe .sel bzw. .unsel an, um zwischen dem selektierten und unselektierten Zustand unterscheiden zu können

 
onblurString Fires when the object loses the input focus.

Anmerkung: JavaScript Code

 
onchangeString Fires when the contents of the object or selection have changed.

Anmerkung: JavaScript Code

 
onclickString Fires when the user clicks the left mouse button on the object.

Anmerkung: JavaScript Code

 
oncontextmenuString Fires when the user clicks the right mouse button in the client area, opening the context menu.

Anmerkung: JavaScript Code

 
ondblclickString Fires when the user double-clicks the object.

Anmerkung: JavaScript Code

 
onfocusString Fires when the object receives focus.

Anmerkung: JavaScript Code

 
onkeydownString Fires when the user presses a key.

Anmerkung: JavaScript Code

 
onkeypressString Fires when the user presses an alphanumeric key.

Anmerkung: JavaScript Code

 
onkeyupString Fires when the user releases a key.

Anmerkung: JavaScript Code

 
onmousedownString Fires when the user clicks the object with either mouse button.

Anmerkung: JavaScript Code

 
onmousemoveString Fires when the user moves the mouse over the object.

Anmerkung: JavaScript Code

 
onmouseoutString Fires when the user moves the mouse pointer outside the boundaries of the object.

Anmerkung: JavaScript Code

 
onmouseoverString Fires when the user moves the mouse pointer into the object.

Anmerkung: JavaScript Code

 
onmouseupString Fires when the user releases a mouse button while the mouse is over the object.

Anmerkung: JavaScript Code

 
permissionACL 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:

Literal
true|false -> StaticPermission
Rolle
#rollenname -> RoleBasedPermission
Funktion
$funktionsname -> FunctionBasedPermission

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.

 
tabidString Die eindeutige Identifikation der Tabe. anhand der Id bestimmt das Kontrollelement, ob die Tabe selektiert ist.  
targetString Über dieses Attribut kann das HTML-target Attribut des Elementes angegeben werden.

Anmerkung: Siehe HTML Dokumentation für das Attribut target.

 
titleString Der Titel der Tabe.

Die Zeichenkette wird vor der Ausgabe HTML-codiert.

tooltipString Tooltip Text welcher in einem Popup Fenster angezeigt wird, wenn der Benutzer die Maus über die Tabe bewegt.

Die Zeichenkette wird vor der Ausgabe HTML-codiert.

 

[ Beispiel ]

Erzeugt ein einfaches Tabset mit zwei Taben und einer ImageMap


<%@ taglib uri="http://www.common-controls.com/cc/tags-ctrl"    prefix="ctrl" %>
<%@ taglib uri="http://www.common-controls.com/cc/tags-util"   prefix="util" %>

<util:imagemap name="im_tabs">
    <util:imagemapping  rule="def"        src="images/imgDefault.gif"   width="13"  height="13"/>
    <util:imagemapping  rule="cor.unsel"  src="images/imgCorUnsel.gif"  width="13"  height="13"/>
    <util:imagemapping  rule="cor.sel"    src="images/imgCorSel.gif"    width="13"  height="13"/>
</util:imagemap>

<ctrl:tabset
    id="detail"
    name="detailView"
    width="100%"
    bgcolor="#dadfe0"
    imagemap="im_tabs"
    formElement="true">


    <ctrl:tab  id="DEF"  title="Default"      content="Page_Form_Def.jsp"  tooltip="Default View"  imageref="def"/>
    <ctrl:tab  id="COR"  title="Corrections"  content="Page_Form_Cor.jsp"  tooltip="Corrections"   imageref="cor"/>
</ctrl:tabset>