有没有办法在自定义JSP标记中有条件地包含属性?

时间:2016-03-14 23:23:20

标签: spring jsp custom-tags conditional-attribute

假设我有一个可以采用3个属性的字段

<myTag a="something" b="something" c="something" />

假设我想在变量不为空时只包含那些a,b,c属性。因此,对于EL,它就变成了这样的东西

<myTag a="${varA}" b="${varB}" c="${varC}" />

如果一个或多个变量为空(比如varB为空),我得到的输出如下:

<myTag a="a val" b c="c val" />

所以b仍然存在,但是传递一个空白值。 如果属性为空(例如,表格上的itemLabel:例如选项),这可能会导致某些弹簧<form:etc>标记出现问题 如果我不想要怎么办?是否有一种简单的方法可以让属性完全不显示?

我知道我可以做到

<c:if test="${empty b}">
    <myTag a="${varA}" c="${varC}" />
</c:if>

但这意味着我们需要一个巨大的决策树,因为如果每个属性可能都是空白的,属性数量就会增加。

有谁知道更好的方法吗?

0 个答案:

没有答案