Ich habe eine Tag-Klasse, die UIComponent und UIOutput erweitert. In dieser Klasse habe ich encodeBegin und encodeEnd, womit ich meinen contextWriter verwenden kann, um ein beliebiges HTML-Tag auszugeben, das ich auch verwenden möchte, indem ich writer.startElement ("div", myComponent) und so weiter verwende.Wie kann ich vorhandene JSF-Komponenten zu meinen eigenen benutzerdefinierten Komponenten hinzufügen?
Mein Problem ist jetzt, dass ich zum Beispiel eine anstelle der Verwendung des writer.startElement einfügen muss. Ich kann dies tun, indem ich getChildren(). Add (HtmlCommandButton button = new HtmlCommandButton()); aber wenn ich es so mache, kann ich die Komponente nicht ausgeben, wo ich sie erscheinen lassen möchte, so wie ich es mit write.startElement kann.
Hat jemand gute Lösungen, wie ich Richfaces-Tags, JSF-Tags und ähnliches in meiner eigenen Taglibrary nutzen kann? Kurz gesagt, was ich wirklich tun möchte, ist in meiner encodeBegin:
writer.startElement("a4j:commandButton", myComponent);
writer.writeAttribite("action", "#{Handler.myAction}", null);
writer.endElement("a4j:commandButton");
Dank durch Voraus
Ausgezeichneter Mann. Ich muss das gerade testen. Die myComponent.encodeAll (Kontext) war genau das, wonach ich suchte. Vielen Dank! –