Wow, that was a lot of code.

The expurgated version is that in Struts 1 there are
two basic ways to do it: put the bean into a scope,
generally request or session, or set properties on
your ActionForm (which itself is either request- or
session-scoped).

d.

--- [EMAIL PROTECTED] wrote:

> I would look into the following Patterns:
> 
> BusinessDelegate , SessionFacade
> 
> 
> For Database connectivity with EJBs you should also
> look at
> servicelocator.
> 
> 
> 
> Typically what I do is:
> 
> Have an action:
>       To retrieve data from a database -- I pass all
> necessary
> interface parameters to a BusinessDeleget.  The
> business delegate does
> all of the work to prevent tier leakage.
> 
>       A BusinessDelegate will pass back a ValueObject
> (JavaBean) to a
> JSP Page.
> 
>       I'll save that bean in a request or session
> attribute for use
> within the JSP page.
> 
> Hope this gives you some insight.  
> 
> Here is a code snippet:
> 
>     public ActionForward
> findOrderDetail(ActionMapping _mapping,
> ActionForm  _form, HttpServletRequest _request,
> HttpServletResponse
> _response )
>     {
>         UserInfo _userInfo = getUserInfo();//private
> method to get
> user info
>         String _userId = "null user";
>         ActionErrors _errs = new ActionErrors(); 
>         FindOrderDetailActionFormBean _params =
> (FindOrderDetailActionFormBean) _form;        
>         try
>         {
>            
> getConsolePrinting(this.getResources(_request));
>            _errs = checkActionErrors(_mapping,
> _form, _request);  
>            if(_errs.size()==0)
>            {
>                
>                 Logger.debug(
> "[MyOrdersDispatchAction.java][public
> ActionForward findOrderDetail(ActionMapping
> _mapping, ActionForm  _form,
> HttpServletRequest _request, HttpServletResponse
> _response)][started
> with 0 Errors Found.]");
>                IOrderManagerPDA _mgr =
> OrderManagerBD.getOrderManagerPDA();
>                 Logger.debug (
> "[MyOrdersDispatchAction.java][ public
> ActionForward findOrderDetail(ActionMapping
> _mapping, ActionForm  _form,
> HttpServletRequest _request, HttpServletResponse
> _response)][IOrderManager Created And Retrieved.
> Params Recovered from
> FindOrderDetailActionFormBean. User Id is
> {"+_userId+"} Location is
> {"+_params.getLocation()+"}  Order Number is {
> "+_params.getOrderNumber()+" } ]");
> 
>                       //THIS IS A VALUE OBJECT BEAN THAT YOU SHOULD
> CREATE IN
>                       //YOUR BUSINESS DELEGATE AND USE IN YOUR JSP
> PAGES
>                IOrderVOPDA orderVO =
> _mgr.getOrder(_userId ,
> _userInfo.getregionId(),  _params.getLocation(),
> _userInfo.getisHybridLocation() ,
> _userInfo.getbillingSystem(),
> _userInfo.getbillingSystemText() ,
> Integer.parseInt(_params.getOrderNumber()) );
>                if( orderVO != null )
>                {
>                    _request.setAttribute("orderVO" ,
> orderVO );
>                     Logger.debug(
> "[MyOrdersDispatchAction.java][private
> ActionForward findOrderDetail(ActionMapping
> _mapping, ActionForm  _form,
> HttpServletRequest _request, HttpServletResponse
> _response)][
> Initializing Location to Location is
> {"+_params.getLocation()+"} .
> Returning {"+_SUCCESS+"}.  User Id is {"+_userId+"} 
> Order Number is {
> "+_params.getOrderNumber()+" } ]" );
> Logger.debug("[MyOrdersDispatchAction.java][private
> ActionForward
> findOrderDetail(ActionMapping _mapping, ActionForm 
> _form,
> HttpServletRequest _request, HttpServletResponse
> _response)][ Session
> Value of orderVO has been initialized.  Returning
> {"+_SUCCESS+"}.  User
> Id is {"+_userId+"} Location is
> {"+_params.getLocation()+"}  Order
> Number is { "+_params.getOrderNumber()+" } ]" );
>                   
> _request.getSession().setAttribute("sessionLocation"
> , _params.getLocation() );                    
>                    return
> _mapping.findForward(_SUCCESS);
>                }
>                else
>                {
>                     throw new
> FindOrderDetailException("Order Not Found.
> NOT FAILURE.");
>                }
>            }
>            else
>            {
>                throw new
> FindOrderDetailException("Errors found in
> request.");   
>            }
>         }catch(FindOrderDetailException fod)
>         {
>             //Return action errors to the user
>         }
>     }
> 
> 
> 
> -----Original Message-----
> From: Minghui Yu [mailto:[EMAIL PROTECTED] 
> Sent: Friday, November 16, 2007 4:40 PM
> To: Struts Users Mailing List
> Subject: Pass Javabeans
> 
> Hi folks,
> 
> I know it is a stupid question. But how shall I pass
> JavaBeans from an
> Action object to a JSP page? Use
> setAttribute('xxx',xxx)?
> 
> I have a list of JavaBeans that I want to pass to
> JSP pages to display
> one by one.
> 
> Shall be a very simple question to anyone who is not
> a brand new
> beginner to struts (version 1) like me :)
> 
> Thanks a lot.
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> For additional commands, e-mail:
> [EMAIL PROTECTED]
> 
> 
> 
> The information contained in this message and any
> attachment may be
> proprietary, confidential, and privileged or subject
> to the work
> product doctrine and thus protected from disclosure.
>  If the reader
> of this message is not the intended recipient, or an
> employee or
> agent responsible for delivering this message to the
> intended
> recipient, you are hereby notified that any
> dissemination,
> distribution or copying of this communication is
> strictly prohibited.
> If you have received this communication in error,
> please notify me
> immediately by replying to this message and deleting
> it and all
> copies and backups thereof.  Thank you.
> 
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> For additional commands, e-mail:
> [EMAIL PROTECTED]
> 
> 


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

Reply via email to