在JSP页面中,您可以使用反射来显示Model对象的所有特定属性吗?

时间:2011-07-28 15:20:15

标签: java jsp reflection spring-mvc jstl

在JSP页面中,您可以使用反射来显示Model对象的所有特定属性吗?

假设我有三种模型类型(FooGooHoo)和 - 在一个JSP / JSTL页面中 - 我想循环一个包含的对象List,at任何时刻,这三种类型中的一种。

有没有办法使用反射来确定JSP页面上模型中的字段,而不必根据Model对象的实际类型包含CHOOSE/WHEN/OTHERWISE块?

我有一个管理页面,我想提供一个下拉菜单,管理员可以选择要检查的模型对象。

表单将被提交到请求处理程序,其中查找模型对象的特定子集并将其返回到要显示的管理页面。分页。

Admin.jsp

<table>
    <c:forEach items="${models}" var="model" varStatus="status">        
    <tr>
        <!-- Probably need an inner loop here -->
        <td><!-- Display model instance properties using reflection --></td>
        <!-- End of inner loop -->
    </tr>
    </c:forEach>
</table>

@Repository
public class Foo{
    private int id;
    private boolean isFooIsh;
    // other properties . . . 
}

@Repository
public class Goo{
    private int id;
    private boolean isGooIsh;
    // other properties . . . 
}

@Repository
public class Hoo{
    private int id;
    private boolean isHooIsh;
    // other properties . . . 
}

1 个答案:

答案 0 :(得分:3)

当然你可以。是否 是否需要辩论。借助scriptlet和/或自定义标记,您几乎可以在JSP中执行任何所需的Java代码。