假设我有一个可以采用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>
但这意味着我们需要一个巨大的决策树,因为如果每个属性可能都是空白的,属性数量就会增加。
有谁知道更好的方法吗?