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]