Hi All,
just to share a working example of using a runtime dynabean as, by instance,
a value object. It allows to get data and make up a bean with this data, all
in runtime. Maybe is helpful for someone.
1. Create a customized dynabean:
public class ExtiendeBasicDynaBean extends
org.apache.commons.beanutils.BasicDynaBean
{
public ExtiendeBasicDynaBean(org.apache.commons.beanutils.DynaClass
dynaClass)
{
super(dynaClass);
}
}
2. Fill it with data, and create its properties from a perform() method in
an Action class:
public org.apache.struts.action.ActionForward
perform(org.apache.struts.action.ActionMapping mapping,
org.apache.struts.action.ActionForm form,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
{
java.util.ArrayList propertyList = new java.util.ArrayList();
org.apache.commons.beanutils.DynaProperty property1 = new
org.apache.commons.beanutils.DynaProperty("property1", String.class);
propertyList.add(property1);
org.apache.commons.beanutils.DynaProperty property2 = new
org.apache.commons.beanutils.DynaProperty("property2", String.class);
propertyList.add(property2);
org.apache.commons.beanutils.DynaProperty property3 = new
org.apache.commons.beanutils.DynaProperty("property3", String.class);
propertyList.add(property3);
org.apache.commons.beanutils.DynaProperty property4 = new
org.apache.commons.beanutils.DynaProperty("property4", String.class);
propertyList.add(property4);
org.apache.commons.beanutils.DynaProperty[] propertyArray =
(org.apache.commons.beanutils.DynaProperty[])propertyList.toArray(new
org.apache.commons.beanutils.DynaProperty[0]);
org.apache.commons.beanutils.DynaClass dynaClass = new
org.apache.commons.beanutils.BasicDynaClass("nombrebean",
ExtiendeBasicDynaBean.class, propertyArray);
ExtiendeBasicDynaBean bean = new ExtiendeBasicDynaBean(dynaClass);
bean.set("property1", "valor1");
bean.set("property2", "valor2");
bean.set("property3", "valor3");
bean.set("property4", "valor4");
request.getSession(true).setAttribute("dynabean", bean);
return mapping.findForward("success");
}
3. Get the data in the JSP from the session and render to the page, by using
Struts custom tags
La propiedad 1 es: <bean:write name="dynabean"
property="property1"/><br>
La propiedad 2 es: <bean:write name="dynabean"
property="property2"/><br>
La propiedad 3 es: <bean:write name="dynabean"
property="property3"/><br>
La propiedad 4 es: <bean:write name="dynabean"
property="property4"/><br>
It is a basic example but I hope enough to get started with dynabeans.
Any comments, improvements, shortcuts ot whatever is welcome.
Regards,
Adolfo
_________________________________________________________________
MSN Photos is the easiest way to share and print your photos:
http://photos.msn.com/support/worldwide.aspx
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>