Тело элемента неявно определяется как тело соответствующего элемента.Тело также может быть представлено явно, используя,Это требуется, если один или несколькоэлементы появляются в теле тега.Проверьте ссылки для element , attribute и body .
Но это не настоящая проблема.Проблема вне очень хорошо работает с условными тегами.пытается установить атрибут для родительского тега, который в вашем примере.
Вы можете использоватьвнутри элемента (как BalusC предложил в своем комментарии), но это приведет к атрибуту с пустым значением, или вы можете перейти от:
<jsp:element ...>
<c:if test="${true}">
<jsp:attribute name="extraInlineComplianceJavascript">
....
</jsp:attribute>
</c:if>
</jsp:element>
к (более подробному):
<c:if test="${true}">
<jsp:element ...>
<jsp:attribute name="extraInlineComplianceJavascript">
....
</jsp:attribute>
</jsp:element>
</c:if>
<c:if test="${false}">
<jsp:element ...>
<!-- no attribute for false -->
</jsp:element>
</c:if>
Вы также можете использовать,И, конечно, это не будет работать хорошо с более чем одним атрибутом: D.
Мое личное предложение было бы выброситьи найдите другой способ условно установить свои атрибуты.