Frage

Die eigentliche Frage: Gibt es eine Möglichkeit, bestimmte Attribute für alle Komponenten auf einer Ladeseite der ersten Seite zu löschen?

Hintergrundinformation:

In meiner Anwendung habe ich eine JSF 2.0 -Frontend -Ebene, die mit einer Serviceschicht spricht (die Serviceschicht besteht aus Frühlingsbohnen, die den verwalteten Bohnen injiziert werden).

Die Serviceschicht führt ihre eigene Validierung durch, und ich mache die gleiche Validierung in der Frontend -Ebene mit meinen eigenen Validator -Klassen, um zu versuchen, eine Code -Duplikation irgendwie zu vermeiden. Diese Validator -Klassen sind keine JSF -Validatoren, sondern nur Pojos.

Ich mache nur eine Validierung für eine Aktion, daher führe ich in der Aktionsmethode eine Validierung durch, und nur, wenn es gültig ist, rufe ich zur Serviceschicht auf.

Wenn ich meine Validierung mache, habe ich die Styleclass und den Titel auf den Uicomponenten mit Reflexion festgelegt (wenn der UIComponent die Methoden setStyLeclass (: String) oder Setitle (: String) hat, dann verwende ich sie).

Dies funktioniert gut, und bei einem Validierungsfehler sehe ich ein gut gestaltetes Textfeld mit einem Popup, das die Fehlermeldung enthält, wenn ich darüber schwebe. Da die Komponente jedoch an eine Sitzung mit skopiertem Managed Bean gebunden ist, scheint es, dass diese Attribute festhalten. Wenn ich also weg navigiere und auf die gleiche Seite zurückkomme, befinden sich die Stiftung und der Titel immer noch im Fehlerzustand.

Gibt es eine Möglichkeit, die Styleclass- und Titelattribute auf jeder Ladeseite der Anfangsseite zu löschen?

Vielen Dank,

James

PS Ich verwende die Aktionsmethode, um zu validieren, weil einige Probleme mit JSF 1.2 und der Validierungsmethoden, aber nicht erinnern, warum ... deshalb verwende ich die Aktionsmethode, um zu validieren.

War es hilfreich?

Lösung

Ok, also muss ich einen Phaselistener verwenden, siehe Dieser Blogeintrag von Balusc und Dieser andere Blogeintrag, Das ist eine viel bessere Möglichkeit, das zu tun, was ich bereits tue - die Styleklasse manuell mithilfe von Reflexion einstellen - die alle Komponenten mit Nachrichten erhält und sie hervorhebt ... Ich werde dasselbe tun, aber ich denke, es ist möglich, ein Attribut hinzuzufügen Ich habe es stattdessen noch nicht ausprobiert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top