在JSP页面中可以使用反射来显示Model对象的所有特定属性吗?
假设我有三种模型类型(Foo
, Goo
, Hoo
),并且-在单个JSP/JSTL页面中-我想在包含这三种类型之一的对象列表中循环。
是否有一种方法可以使用反射来确定JSP页面上模型中的字段,而不必根据模型对象的实际类型包含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>
Foo
@Repository
public class Foo{
private int id;
private boolean isFooIsh;
// other properties . . .
}
咕
@Repository
public class Goo{
private int id;
private boolean isGooIsh;
// other properties . . .
}
Hoo
@Repository
public class Hoo{
private int id;
private boolean isHooIsh;
// other properties . . .
}
你当然可以。你是否应该值得讨论。借助scriptlet和/或自定义标记,您可以在JSP中编写几乎任何所需的Java代码。