I doubt this will be enough, but I'll offer it up to get you started. 
Suppose I have the following form-bean:

<form-beans>
   <form-bean
       name="itemDetailForm"
       dynamic="true"
       type="org.apache.struts.action.DynaActionForm">
         <form-property name="view" 
type="com.oreilly.struts.catalog.view.ItemView"/>
   </form-bean>
    ...
</form-beans>

I have specified that the form will hold an object of type 
"com.oreilly.struts.catalog.view.ItemView", using a name of "view".

Further supposed that I have a GetItemDetailAction that has this execute 
method:

  ...
  public ActionForward executeAction(ActionMapping  mapping,
                                      ActionForm     form,
                                      HttpServletRequest request,
                                      HttpServletResponse response,
                                      UserContainer  userContainer) throws 
BaseException {
     String itemId = request.getParameter( IConstants.ID_KEY );
     ICatalogController catalogController = 
userContainer.getCatalogController();

     // Get a value object representing the item from the business tier
     ItemView itemView = catalogController.getItemView(itemId);

     // Set the ItemView into the Dynamic Action Form
     ((DynaActionForm)form).set("view", itemView);

     // The parameter name 'view' is what is defined in the Dynamic form
     // in struts-config. Maybe should use a constant there too?

     // Return to the success resource for this action
     return mapping.findForward(IConstants.SUCCESS_KEY);
}

Now, in the JSP page that the user is forwarded to, they can use all of the 
Struts tags to get at the ItemView data inside of the dynamic form. I won't 
show the JSP page, it's too long. Here's a couple of lines from it:

     <bean:write name="itemDetailForm" property="view.name"/>

     <html:link
         page="/action/cart?method=addItem"
         paramId="id"
         paramName="itemDetailForm"
         paramProperty="view.id"
         paramId="id"
         paramScope="request">

Notice that view.name would be translated into getView().getName() like a 
standard ActionForm.

I hope this helps somewhat.

Chuck



At 06:06 PM 4/3/2002 -0700, you wrote:
>I have read so much that talks about what the DynaBean DynaActionForm can
>accomplish but have been unable to find concrete examples. Does anybody have
>any code they could offer up to shed some light on the use.
>
>Brandon Goodin
>Phase Web and Multimedia
>P (406) 862-2245
>F (406) 862-0354
>[EMAIL PROTECTED]
>http://www.phase.ws
>
>
>
>--
>To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to