Die Common-Controls Tag Bibliothek

<forms:description>

Das Tag erzeugt ein Beschreibungselement. Der Beschreibungstext wird dem vorangehenden Formularelement graphisch zugeordnet.

Der Beschreibungstext kann als Attribut (description) oder direkt im Tag-Body angegeben werden. Im Tag-Body können alle HTML-Elemente zur Formatierung genutzt werden

Das Tag darf nur innerhalb eines com.cc.framework.taglib.forms.FormElementContainerTag verwendet werden. Beispiele hierfür sind <forms:form>, <forms:section> und <forms:buttonsection>. Das Beschreibungselement bezieht sich immer auf das direkt vorangehende Formularelement.
../images/images/formdescription_small.gif

Body content: JSP
Tag class: FormElementDescriptionTag
 

[ Syntax ]

Standard Syntax
<forms:description
[ align = "{left | right | center}" ]
[ colspan = "Integer" ]
[ description = "String" ]
[ filter = "Boolean" ]
[ height = "String" ]
[ imageref = "String" ]
[ join = "Boolean" ]
[ label = "String" ]
[ permission = "ACL" ]
[ valign = "{top | bottom | center}" ]
[ width = "String" ]
>
...Body Content...

</forms:description>
 

[ Attribute ]

AttributTypBeschreibungPflichtRTExp
alignAlignmentType Gibt die horizontale Ausrichtung in der Formularelement Zelle an
  • left = linksbündige Ausrichtung
  • right = rechtsbündige Ausrichtung
  • center = zentrierte Ausrichtung
 
colspanInteger Gibt bei einem mehrspaltigen Formular die Anzahl der Spalten an, welche von dem Formularelement belegt werden sollen.  
descriptionString Der Beschreibungstext  
filterBoolean Mit dem filter-Attribut kann die automatische HTML-Codierung des Formularelementes aktiviert bzw. deaktiviert werden.
  • true = Die HTML Konvertierung ist aktiv. So wird beispielsweise das "<" Zeichen als "&lt;" codiert. HTML Code wird damit nicht ausgeführt.
  • false = Die HTML Konvertierung ist abgeschaltet. HTML Code wird demzufolge direkt in die Seite eingesetzt und somit ausgeführt.
 
heightString Setzt die Höhe des Kontrollelmentes. Die Höhe kann absolut oder prozentual angegeben werden.

Es hängt vom jeweiligen Kontrollelement Painter ab, ob diese Information ausgewertet wird

Siehe HTML-Dokumentation

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

Die ImageMap wird im umschliessenden Formular Tag mit Hilfe des imagemap Attributes gesetzt

 
joinBoolean Mit diesem Flag wird angegeben ob das Vormularelement mit dem vorhergehenden Element verbunden werden soll. Zwischen verbundenen Formularelementen werden keine Trennungslinien gezeichnet.  
labelString Das Label des Formularelementes.  
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.

 
valignAlignmentType Gibt die vertikale Ausrichtung in der Formularelement Zelle an
  • top = Ausrichtung oben
  • bottom = Ausrichtung unten
  • center = Ausrichtung zentriert
 
widthString Setzt die Breite des Kontrollelmentes. Die Breite kann absolut oder prozentual angegeben werden.

Siehe HTML-Dokumentation

 

[ Beispiel ]

Formularelement mit einem zusätzlichen Beschreibungstext


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

<forms:form  type="edit"  caption="Userprofile - Edit"  formid="frmEdit"  width="550">

    <forms:text  label="Mappings"  property="mappings"  maxlength="256"  size="70"/>

    <forms:description>
        Semicolon delimited list of currency mappings with the following format:
        <br/><b>[currency code in file]=[currency code in the database]</b>
    </forms:description>
</forms:form>