我有一个豆${product}。我想查看此bean的所有可用字段/属性。因此,例如,${product.price},${product.name},${product.attributes.colour}等。
${product}
${product.price}
${product.name}
${product.attributes.colour}
是否可以使用JSTL / EL在JSP中动态打印出这些属性的所有名称和值?
就像是:
<c:forEach items="${product}" var="p"> ${p.key} - ${p.value} </c:forEach>
用bean替换对象以确定。
<c:set var="object" value="${product}" />
显示所有声明的字段及其值。
<c:if test="${not empty object['class'].declaredFields}"> <h2>Declared fields <em>${object.name}</em></h2> <ul> <c:forEach var="field" items="${object['class'].declaredFields}"> <c:catch><li><span style="font-weight: bold"> ${field.name}: </span>${object[field.name]}</li> </c:catch> </c:forEach> </ul> </c:if>
显示所有声明的方法。
<c:if test="${not empty object['class'].declaredMethods}"> <h2>Declared methods<em><% object.getName() %></em></h2> <ul> <c:forEach var="method" items="${object['class'].declaredMethods}"> <c:catch><li>${method.name}</li></c:catch> </c:forEach> </ul> </c:if>