当我将此代码添加到我的jsp页面时:
<c:set var="wizard" value="nope"/>
<c:forEach var="annotation" items="${command['class'].getAnnotations()}">
${annotation['class'].simpleName}<br/>
<c:if test="${annotation['class'].simpleName == 'Wizard'}">
<c:set var="wizard" value="yes"/>
</c:if>
</c:forEach>
我为注释类的名称获取了类似Proxy96
的内容,而不是实名。我能对这段代码做些什么来检索注释的真实名称?
答案 0 :(得分:1)
您必须使用${annotation.annotationType().name}
来获取注释的名称,而不是${annotation.class.simpleName}
。 Annotation对象只是一个代理,表示该类上的注释实例。
示例:
<c:forEach var="annotation" items="${yourObject.annotations}">
Annotation: ${annotation.annotationType().name}<br/>
</c:forEach>