Вы можете легко создать пользовательскую функцию для проверки свойства согласно сообщению в блоге vivin .
Короче говоря, если у вас уже есть свой собственный taglib, просто создайте статический метод hasProperty ...
import java.beans.PropertyDescriptor;
import org.apache.commons.beanutils.PropertyUtils;
...
public static boolean hasProperty(Object o, String propertyName) {
if (o == null || propertyName == null) {
return false;
}
try
{
return PropertyUtils.getPropertyDescriptor(o, propertyName) != null;
}
catch (Exception e)
{
return false;
}
}
... и добавление пяти строк в ваш TLD ...
<function>
<name>hasProperty</name>
<function-class>my.package.MyUtilClass</function-class>
<function-signature>boolean hasProperty(java.lang.Object,
java.lang.String)
</function-signature>
</function>
... и вызывая его в своем JSP
<c:if test="${myTld:hasProperty(myObject, 'myAttribute')}">
<c:set var="foo" value="${myObject.myAttribute}" />
</c:if>