Die Common-Controls Tag Bibliothek

<forms:textlist>

Das Tag erzeugt ein TextList Element für die Dateneingabe in dem umschliessenden Formular. Über das Symbol nebem dem Eingabefeld können Einträge in die untere Liste übernommen werden. Zum Löschen von Einträgen dient das Lösch-Symbol neben der Liste. Die Einträge können über die Angabe des sortOrder-Attributes sortiert werden. Wird keine Sortierreihenfolge vorgegeben, können die Einträge auch manuell innerhalb der Liste verschoben werden.
Das Tag darf nur innerhalb eines com.cc.framework.taglib.forms.FormElementContainerTag verwendet werden. Beispiele hierfür sind <forms:form> und <forms:section>
../images/images/formtextlist_small.gif

Body content: JSP
Tag class: FormElementTextListTag
 

[ Syntax ]

Standard Syntax
<forms:textlist
[ accesskey = "String" ]
[ align = "{left | right | center}" ]
[ colspan = "Integer" ]
[ converter = "Java Klassenname oder Converter Id" ]
[ description = "String" ]
[ disabled = "Boolean" ]
[ filter = "Boolean" ]
[ height = "String" ]
[ help = "String" ]
[ id = "String" ]
[ imageref = "String" ]
[ join = "Boolean" ]
[ label = "String" ]
[ labeltooltip = "String" ]
[ maxlength = "Integer" ]
[ name = "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" ]
[ property = "String" ]
[ required = "Boolean" ]
[ rows = "Integer" ]
[ runat = "{server | client | auto}" ]
[ scope = "{any | page | request | session | application}" ]
[ size = "Integer" ]
[ sortOrder = "{none | asc | desc}" ]
[ style = "String" ]
[ styleClass = "String" ]
[ styleId = "String" ]
[ tabindex = "Integer" ]
[ tooltip = "String" ]
[ valign = "{top | bottom | center}" ]
[ value = "String" ]
[ width = "String" ]
>
...Body Content...

</forms:textlist>
 

[ Attribute ]

AttributTypBeschreibungPflichtRTExp
accesskeyString Der Tastatur-Shortcut (darf nur ein Zeichen sein), mit dem der Browser den Fokus auf ein Eingabeelement übertragen kann.  
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.  
converterJava Klassenname oder Converter Id Gibt den Datentyp Konverter an mit welchem die Daten des Kontrollelementes konvertiert werden sollen. Wird dieses Attribut nicht angegeben, so verwendet das Framework einen Default Konverter passend zum Datentyp des Kontrollelementes. (ConverterRegistry.lookup()).

Der Konverter kann auf die folgenden Arten angegeben werden:

  • Es wird die öffentliche Converter Id angegeben.
  • Es wird der voll qualifizierter Java Klassenname des Konverters angegeben. Dieser muss das Converter Interface implementieren

Anmerkung: Die angegebene Java Klasse muss das Converter Interface implementieren!

 
descriptionString Der Beschreibungstext  
disabledBoolean Über dieses Attribut kann das Kontrollelement deaktiviert werden. Es nimmt dann keine Benutzereingaben entgegen und erzeugt keine Kontrollelement Ereignisse.  
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

 
helpString Weist dem Kontrollelement einen Hilfe Bezeichner zu. Es wird ein Hilfe Symbol neben dem Kontrollelement angezeigt, welches bei einem Klick einen onHelp Event erzeugt. Der Bezeichner wird dabei als Parameter übergeben und kann somit zur Anzeige von kontextabhängigen Hilfetexten benutzt werden.

Das eigentliche Hilfesystem ist nicht Teil des Common-Controls Frameworkes, der onHelp Event kann jedoch zur Verankerung verwendet werden.

Für die Erzeugung des Hyperlinks zum Aufruf der Hilfe sind einige vordefinierte Framework Ressourcen zuständig. Diese kann der Anwendungsentwickler global oder auf Kontrollelement Ebene verändern:

Resource KeybeschreibungVorgabewert
fw.help.onclickEin optionaler onclick JavaScript Handler. Der Handler kann einen {0} Markup für den Hilfe Bezeichner enthalten-
fw.help.targetGibt an wo der Hilfe Hyperlink geöffnet werden soll_blank
fw.help.tooltiptooltip Text für den Hilfe Hyperlinkcontext help

Anmerkung: Der Hilfe Bezeichner wird von dem Common-Controls Framework an das Hilfesystem weitergegeben. Die Syntax und Semantik hängt daher von dem verwendeten Hilfesystem ab.

 
idString Weist dem Kontrollelement einen eindeutigen Bezeichner zu. Im Tag Body wird daraufhin eine Java Variable angelegt, auf welche in Java Scriptlets zugegriffen werden kann. Diese Variable verweist auf die Kontrollelement Instanz.

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 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.  
labeltooltipString Tooltip auf dem Label des Formularelementes.  
maxlengthInteger Gibt die maximale Zeichenzahl für die Dateneingabe an.  
nameString Gibt den Namen der Java-Bean an. Die Java-Bean muss im angegebenen Scope (siehe scope-Attribut) 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.

 
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.

 
propertyString Gibt den Namen des Properties an, welches die Daten für das Formularelement liefert.

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.

 
requiredBoolean Gibt an, ob es sich bei dem Formularelement um eine Pflichtangabe handelt. Pflichtfelder werden für den Anwender visuell hervorgehoben dargestellt.  
rowsInteger Gibt die Anzahl der Zeilen an, welche in der Liste angeboten werden sollen.  
runatRunAt Dieses Attribut gibt an, ob für das Kontrollelement JavaScript verwendet werden soll, oder ob das Kontrollelement ausschließlich mit Server Roundtrips arbeiten soll.
  • server = Alle Kontrollelement Aktionen führen zu einem Server Roundtrip und werden auf dem Server bearbeitet.
  • client = Kontrollelement Aktionen werden direkt im Browser des Benutzers durchgeführt. Es hängt von der verwendeten Painter Factory und dem konkreten Kontrollelement Painter ab, wie weit die Unterstützung für Clientside Scripting geht.
  • auto = Das Framework wählt basierend auf der JavaScript Aktivierung des Anwender Browsers den Modus "client" bei aktiviertem JavaScript und "server" bei deaktiviertem JavaScript (siehe BrowserInfo).
 
scopeHttpScope Dieses Attribut gibt den Scope an, in welchem die Java-Bean mit den eigentlichen Anzeigedaten zu finden ist.
  • any = Nach der Bean wird in jedem Scope gesucht.
  • page = Die Bean liegt im PageContext der JSP Seite.
  • request = Die Bean liegt im HTTP Servlet Request
  • session = Die Bean liegt in der HTTP Session
  • application = Die Bean liegt applikationsweit im Servlet Kontext
 
sizeInteger Gibt die Anzahl der sichtbaren Zeichen an.  
sortOrderSortOrder Gibt die Sortierreihenfolge des Elementes an
  • none = Es soll keine Sortierung verwendet werden.
  • asc = Aufsteigende Sortierung
  • desc = Absteigende Sortierung
 
styleString Über dieses Attribut kann direkt ein HTML-style Attribut angegeben werden.

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

 
styleClassString Über dieses Attribut kann direkt ein HTML-class Attribut angegeben werden.

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

 
styleIdString Über dieses Attribut kann direkt ein HTML-id Attribut angegeben werden.

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

 
tabindexInteger Tabulator Index für dieses Element.  
tooltipString Ein Kurzer Hinweistext, welcher angezeigt wird, wenn der Anwender den Mauszeiger über das Element bewegt.  
valignAlignmentType Gibt die vertikale Ausrichtung in der Formularelement Zelle an
  • top = Ausrichtung oben
  • bottom = Ausrichtung unten
  • center = Ausrichtung zentriert
 
valueString Der Wert des Kontrollelementes kann mit diesem Attribut auch direkt als Litteral angegeben werden.  
widthString Setzt die Breite des Kontrollelmentes. Die Breite kann absolut oder prozentual angegeben werden.

Siehe HTML-Dokumentation

 

[ Beispiel ]

Formularelement mit einem TextList Element


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

<forms:form  type="edit"  caption="Company - Edit"  formid="frmEdit">
    
    <forms:textlist  
       label="company.name"  
       property="name"  
       maxlength="80"  
       size="45"  
       required="true"/>

       
</forms:form>