Wicket Markup-Erbe, der nicht für Wicket funktioniert: Kind-Tags in MarkupContainers

StackOverflow https://stackoverflow.com//questions/23015586

  •  21-12-2019
  •  | 
  •  

Frage

Ich verwende Markup-Erbschaft in Wicket 6.14.0 an Erstellen Sie ein einfaches Widget mit Titel und Inhalt. Das Markup der Eltern sieht aus wie folgt:

generasacodicetagpre.

Ihr Code ist ziemlich unnötig, aber für die Vollständigkeit halber:

generasacodicetagpre.

jetzt für die untergeordnete Komponente. Hier ist das einfachste Markup:

generasacodicetagpre.

und natürlich der Java-Code:

generasacodicetagpre.

Was ich erwarte, ist natürlich eine gerenderte Seite, die "foobar" sagt, wo das Wicket: Kindermarke platziert wird. Stattdessen gibt es diese Runtimeexception:

generasacodicetagpre.

Es scheint, als ob Markup-Erbschaft nicht Wicket unterstützt: Kindertags in einem MarkupContainer und somit die Hierarchie durcheinander bringen. Ich habe auch die Verwendung eines grenze , stattdessen das gleiche Ergebnis. .

Meine Frage ist natürlich, wie Sie diese Arbeit erhalten, indem Sie die aktuelle Hierarchie aufrechterhalten, da es wichtig ist, die Kontrolle zu haben (Lesen: ein Java-Objekt) von WidgetBox und WidgetContent.

War es hilfreich?

Lösung

Hier ist eine weitere Frage zu Ihrem Thema: Kann ein Wicket: Kindermarke verschachtelt seinUnter einer anderen Komponente auf der Seite?

Die angegebenen Antworten verwenden TransparentWebMarkupContainer, um das Problem zu lösen.

Jedoch , wie ich herausgefunden habe, heißt es, dass die Verwendung von TransparentWebMarkupContainer fehlschlägt, wenn Ihre Kinderseite generationspflichte bestimmte.Siehe Themen Wicket-5440

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