Мне нужно создать повторно используемый компонент пользовательского интерфейса, который принимает ряд параметров (например, URL-адрес изображения и текст метки), аналогично тому, как теги JSP могут принимать параметры. Сводные документы для тега "wtkx: include" говорят:
Тег позволяет файлу WTKX встраивать содержимое, определенное во внешнем файле WTKX, как если бы оно было определено в самом исходном файле. Это полезно для ... определения шаблонов контента для повторного использования
Я надеялся, что смогу определить свой компонент в файле WTKX, используя стандартные компоненты Pivot (например, TextInput ) и передать ему один или несколько параметров; например, мой шаблон многократного использования под названием "row.wtkx" может содержать строку с изображением и текстовым полем, например, так (где биты $ {xxx} являются параметрами):
<TablePane.Row xmlns="org.apache.pivot.wtk">
<ImageView image="@images/${image_url}" />
<TextInput text="${title}" />
</TablePane.Row>
Я мог бы затем повторно использовать этот компонент в TablePane следующим образом:
<rows>
<TablePane.Row>
<Label text="Painting"/>
<Label text="Title"/>
</TablePane.Row>
<wtkx:include src="row.wtkx" image_url="mona_lisa.jpg" title="Mona Lisa"/>
<wtkx:include src="row.wtkx" image_url="pearl_earring.jpg" title="Girl with a Pearl Earring"/>
<wtkx:include src="row.wtkx" image_url="melting_clocks.jpg" title="Melting Clocks"/>
</rows>
Я сам составил синтаксис $ {...}, чтобы показать, что я пытаюсь сделать. Кроме того, могут быть другие способы передачи значений параметров, отличные от использования атрибутов самого тега «wtkx: include», например, передать карту в стиле JSON с именем say "args".
Возможность передавать такие параметры сделает тег включения гораздо более мощным, например, в моем случае позвольте мне избежать большого количества дублирования между объявлениями строк таблицы.
Или «wtkx: include» не является правильным способом сделать это?