The follow snippet might be useful during debugging to list the properties inside an
arbitary bean. Or for handing to a UI developer that use unaware of the getters/setters inside an object.
Code Block |
---|
|
## prints out the property names for a bean
#macro (describeBean $name)
#set($bu = $struts.bean("com.opensymphony.util.BeanUtils"))
#foreach($propName in $bu.getPropertyNames($name))
<li>$propName</li>
#end
#end
|
i.e. assuming $obj is a PersonObject that has properties(firstName, lastName, and zip).
Code Block |
---|
|
#describeBean($obj) |
would print
Code Block |
---|
|
<li>firstName</li>
<li>lastName</li>
<li>zip</li>
|
One might also expand upon this to build a dynamic interface with via reflection. e.g.
Code Block |
---|
|
$struts.evalute("$obj.${propName}")
|