Как передать параметры в тэг Apache Pivot wtkx: include? - PullRequest
1 голос
/ 26 апреля 2010

Мне нужно создать повторно используемый компонент пользовательского интерфейса, который принимает ряд параметров (например, 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» не является правильным способом сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...