Home > FAQs > Cookbook > Describing a bean in velocity

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.

## 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))

i.e. assuming $obj is a PersonObject that has properties(firstName, lastName, and zip).


would print


One might also expand upon this to build a dynamic interface with via reflection. e.g.