Apache Jelly XML模板:有条件地渲染标记属性

时间:2012-07-10 16:59:48

标签: java xml jelly

我使用Jelly script生成HTML有序列表。有时我想要<li value="...${computed}...">...big block...</li>,有时我只想<li>...</li>而没有value属性。 value=""不合法 - 它必须是整数。

我可以使用<j:choose>来编写两个块,一个使用value而另一个不使用,但是我的模板必须复制列表项中的所有内容,这会使得它变得更加难以实现维护。

在XSLT中,您可以使用xsl:attribute来实现此目的。果冻中有没有相应的东西?

1 个答案:

答案 0 :(得分:0)

似乎将${computed}评估为数字列表或null就足够了。虽然<li value="">blank</li>会生成无效的HTML(与源模板相同),但<li value="${null}">null</li>会生成<li>null</li>,这是您想要的。