如何将参数传递给Apache Pivot的wtkx:include标签?

时间:2010-04-25 23:49:27

标签: java xml apache-pivot

我需要创建一个可重用的UI组件,它接受许多参数(例如图像URL和一些标签文本),类似于JSP标签可以接受参数的方式。 “wtkx:include”标记的Pivot docs说:

  

标签允许WTKX文件嵌入在外部WTKX文件中定义的内容,就好像它是在源文件本身中定义的一样。这对于...定义可重用内容模板很有用

我希望我可以使用标准的Pivot组件(例如TextInput)在WTKX文件中定义我的组件,并将其传递给一个或多个参数;例如,我的可重用模板“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”标签本身的属性之外,还可以有其他方式传递参数值,例如传递一个名为“args”的JSON风格的地图。

传递这样的参数的能力会使include标签更加强大,例如在我的情况下允许我消除表行声明之间的大量重复。

或者“wtkx:include”不是正确的方法吗?

0 个答案:

没有答案