假设我有一个可以包含 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 仍然存在,但传递了一个空白值。如果属性为空白,这可能会导致某些弹簧<form:etc>
标签出现问题(例如 form:options 上的 itemLabel)如果我不想要这样怎么办?有没有一种简单的方法可以让属性完全不显示?
我知道我能做到
<c:if test="${empty b}">
<myTag a="${varA}" c="${varC}" />
</c:if>
但这意味着我们需要一个巨大的决策树,因为如果每个属性都可能是空白的,那么属性的数量就会增加。
有谁知道更好的方法来做到这一点?