JSF Zusammengesetzte Komponente f: ajax enthält eine unbekannte ID - sie kann nicht im Kontext der Komponente gefunden werden

8

Ich versuche, eine übergeordnete Komponente aus einem Ereignis einer zusammengesetzten Komponente mit f:ajax zu aktualisieren.

Die zusammengesetzte Komponente ist hier:

%Vor%

Wenn Sie diese Komponente nun wie folgt verwenden:

%Vor%

Ich erhalte den folgenden Fehler:

enthält eine unbekannte ID 'model' - kann sie nicht im Kontext der Komponente make

finden     
Anurag Singh 25.03.2012, 08:01
quelle

2 Antworten

15

Da sich die zu aktualisierende Komponente außerhalb des CC befindet, müssen Sie sie anders ansprechen. Gib deinem Formular zuerst eine ID:

%Vor%

Dann adressiere die Zielkomponente von deinem cc wie folgt:

%Vor%

Beachten Sie den abschließenden Doppelpunkt, mit dem JSF das Attribut vom Dokumentstamm aus durchsuchen kann.

    
Matt Handy 25.03.2012, 08:31
quelle
4

Ich hatte vor einiger Zeit das gleiche Problem, nur um Informationen zu erhalten, überprüfte ich die Quellen der jsf mojara-Implementierung; Hier scheint es zu funktionieren: Die Klasse ajaxBehaviorRendered analysiert beim Analysieren eines f: ajax -Elements den Inhalt des render -Attributs mit der Methode getResolvedId:

%Vor%

Der Punkt ist die Methode findComponent: Diese benötigt die Basiskomponentenbasis als Stratpunkt für die Suche im Komponentenbaum. Wenn der Bezeichner mit dem Zeichen ":" beginnt, ist die Komponentenbasis der ViewRoot.

%Vor%

Sonst ist die Basiskomponente das nächste übergeordnete Element der aktuellen Komponente vom Typ NamingContainer (dh Ihre zusammengesetzte Komponente, in der Sie Ihre Ajax-Komponente definieren).

%Vor%

Dann beginnt es in beiden Fällen von diesem Anfang an, die Komponente mit der angegebenen Kennung zu durchsuchen.

Dieses Verhalten ist das von jsf angegebene.

Aus meiner Sicht müssen Sie, wenn Sie auf eine Komponente außerhalb des Composites verweisen müssen, den vollständigen Namen definieren und das Präfix ":" gefolgt vom Attribut "cc.clientId" verwenden.

    
Francois Gergaud 04.02.2013 14:43
quelle

Tags und Links