在jsp页面中获取注释类的名称

时间:2014-08-25 23:26:37

标签: java jsp jstl el

当我将此代码添加到我的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的内容,而不是实名。我能对这段代码做些什么来检索注释的真实名称?

1 个答案:

答案 0 :(得分:1)

您必须使用${annotation.annotationType().name}来获取注释的名称,而不是${annotation.class.simpleName}。 Annotation对象只是一个代理,表示该类上的注释实例。

示例:

<c:forEach var="annotation" items="${yourObject.annotations}">
    Annotation: ${annotation.annotationType().name}<br/>
</c:forEach>