2013-03-14 16 views
7

Ich verwende JSF-Nachrichten, um die Fehler/Warnung/Info Nachrichten in meiner Webanwendung anzuzeigen. Auch verwende ich <p:messages>, um sie im Browser mit verschiedenen Stilen zu rendern.Erstellen Sie benutzerdefinierte Schweregradnachrichten in JSF

Nichtsdestotrotz muss ich für einige meiner Nachrichten einen neuen Stil erstellen und den Rest so behalten, wie sie gerade sind. Mit anderen Worten, ich muss einen ok Schweregrad für meine JSF-Nachrichten erstellen, der die Informationen in einem grünen Kästchen mit einem Häkchen anzeigt.

Obwohl ich Bibliothek Klassen betrachtet habe, scheint es nicht eine direkte Methode, dies zu erreichen. Schweregrade werden in der Klasse FacesMessages$Severity als Enumeration gespeichert und haben einen privaten Konstruktor. Muss ich den Quellcode direkt überschreiben?

+0

Der Schweregrad der Informationen ist nicht für den "ok" Zweck? Wenn Sie etwas tun, wenn es Informationen ausgibt, normalerweise war das, wenn alles in Ordnung war, nein? –

+0

Ich möchte eine Nachricht hinzufügen, wenn der Benutzer eine E-Mail-Adresse eingibt. 'Ok' wird für gültige Adresse und 'Fehler' für ungültig sein. Ich wollte zwischen diesem Nachrichtentyp und dem Informationstyp unterscheiden. –

+0

Ich frage mich, ob dies immer noch in JSF 2.2 – thatsIch

Antwort

3

Das ist nicht ohne Hacken der JSF API/impl, nein möglich.

Verwenden Sie einfach die INFO Strenge, oder missbrauchen Sie die scheinbar von Ihnen nicht verwendete: FATAL. Oder, wenn die funktionale Anforderung rein präsentativ ist, werfen Sie einige JS/jQuery/CSS ein, um dies zu erreichen.

Eine drastische Alternative wäre die Neuerfindung des JSF-Nachrichtensystems mit benutzerdefinierten Nachrichtenwrappern und benutzerdefinierten Nachrichtenkomponenten.

+0

Dank für die schnelle Antwort Balus ist. Wird es aus irgendeinem Grund von JSF so gemacht oder könnte es eine zukünftige Verbesserung für sie sein, flexiblere Messaging-Klassen hinzuzufügen? –

+0

stimme ich zu, dass das Design von Gesichtern Nachrichten unterliegt Verbesserungen. Es ist auch ein Erbe aus alten JSF 1.x-Zeiten. Andererseits ist es nicht möglich, benutzerdefinierte Attribute wie "okStyle" oder "okClass" auf vorhandenen JSF-Nachrichtenkomponenten nach dem Zufallsprinzip anzugeben, ohne die Komponente und den Renderer zu bearbeiten/erweitern. – BalusC

+0

Gibt es eine Chance, dass wir diese Funktion in der Funktion sehen? Benutzerdefinierte Schweregrade hinzufügen? Denkst du, es würde helfen, eine Feature-Anfrage zu öffnen? – raupach

Verwandte Themen