Die Common-Controls Tag Bibliothek

<forms:message>

Erzeugt eine Meldungstext Formular. Das Formular erwartet als Datenmodell eine Implementierung des Interfaces com.cc.framework.message.Message.MessageDataModel.

Struts: Bei Verwendung des Struts Frameworks kann das Tag auch ohne die Angabe einer Data Bean verwendet werden. In diesem Fall wird die Struts Fehlerkollektion (severity="error") bzw. die Messagekollektion (severity="information") angezeigt.

../images/images/formmessages.gif

Body content: JSP
Tag class: MessageTag
 

[ Syntax ]

Standard Syntax
<forms:message
formid = "String"
severity = "{none | information | warning | error | fatal}"
[ caption = "String" ]
[ detail = "String" ]
[ filter = "Boolean" ]
[ hideButtons = "Stringliste" ]
[ name = "String" ]
[ permission = "ACL" ]
[ property = "String" ]
[ style = "String" ]
[ styleClass = "String" ]
[ styleId = "String" ]
[ width = "String" ]
>
...Body Content...

</forms:message>
 

[ Attribute ]

AttributTypBeschreibungPflichtRTExp
captionString Die Hauptüberschrift des Formulars.

Überschrift und Detail können auch gemeinsam in der Form "title - detail" angegeben werden.

 
detailString Die Detail Überschrift des Formulars.  
filterBoolean Mit dem filter-Attribut kann die automatische HTML-Konvertierung des Elementes 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.
 
formidString Die eindeutige Identifikation des Formulars. Sie wird als Hiddenfield mit dem Namen formid in des Formular geschrieben und ist somit nach dem absenden des Formulars auf dem Server wieder verfügbar.

Das Framework kann über die formid den entsprechenden <formid>_onSubmit Event Handler aufrufen.

hideButtonsStringliste Mit diesem Attribut kann eine Liste von Schaltflächen ausgeblendet werden. Die auszublendenden Schaltflächen werden in einer Semikolon getrennten Liste angegeben.

Anmerkung: Mit Semikolon getrennte Liste von Schaltflächen Namen. Die Namen müssen dabei einer der ControlButton.getName() Konstanten entsprechen!

 
nameString 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.

 
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, ü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.

 
severitySeverity Gibt die Fehlerklasse des Meldungs Formulars an. Mit der Fehlerklasse wird das Erscheinungsbild des Formulars beeinflusst.

Filterung: Die Kollektion der Meldungstexte wird auf die angegebene Fehlerklasse gefiltert. Wird als Fehlerklasse none angegeben, so erfolgt keine Filterung.

Besonderheit für Struts: Wird der name und das property Attribut nicht angegeben, so zeigt das Formular eine der beiden Meldungstext Kollektionen des Struts Frameworks an. Das severity Attribut legt in diesem Fall fest welche Kollektion angezeigt werden soll ("error" oder "information")

  • none = Kein Fehler
  • information = Information
  • warning = Warnung
  • error = Fehler
  • fatal = Fataler Fehler. Bei einem fatalen Fehler kann die Anwendung nicht weiter ausgeführt werden.
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.

 
widthString Gibt die Breite des Formularfensters an. Die Breite kann absolut oder prozentual angegeben werden.

Siehe HTML-Dokumentation

 

[ Beispiel ]

Erzeugt eine Formular welches die Elemente der Struts ErrorMessages Fehlerkollektion anzeigt.


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

<forms:message formid="frmError" caption="Error" severity="error" width="350"/>