Man, this is really sick ;-). If I'm understanding you, maybe this will work (or maybe not...):
var products = new Array(); <logic:iterate id="productBeans" name="products" indexId="i"> var productBeans<bean:write name="i"/> = new Array(); <logic:iterate id="productBean" name="productBeans" indexId="j"> productBeans<bean:write name="i"/>[<bean:write name="j"/>] = ["<bean:write name="productBean" property="productName"/>", "<bean:write name="productBean" property="productId"/>"]; </logic:iterate> products[<bean:write name="i"/>] = productBeans<bean:write name="i"/>; </logic:iterate> Quoting Rick Col <[EMAIL PROTECTED]>: > Hi, > > I did the following, but the results were not > displayed. > Whats wrong with my code? > > >>>>>>>>>> > products is a collection of ArrayLists, every > arrayList contains > a list of ProductBeans, ProductBean has productName > and productId properties. > > products are retrieved in action class and are put > into session scope: > session.setAttribute("products", products); > > var productsArray = new Array(); > > <logic:iterate id = "aList" name = "products" indexId > = "idx"> > <logic:iterate id = "ProductBean" name = "aList" > indexId = "index"> > productsArray[<%=idx%>][<%=index%>] > = new Array(<bean:write name = "ProductBean" > property = "productName"/>, > <bean:write name = "ProductBean" > property = "productId"/>); > </logic:iterate> > </logic:iterate> > >>>>>>>>>>>>> > > Thanks in advance. > > rick > > > > --- Rick Col <[EMAIL PROTECTED]> wrote: > > More questions about the following: > > > > 1) It says in logic tags reference: > > id: "The name of a page scope JSP bean that will > > contain the current element of the collection on > > each > > iteration, if it is not null." > > > > So, it means myList ArrayList should conform > > to JavaBean routines, is that right? For example: > > > > If I have a List4Js class, it has to have > > getters/seters > > for getting/setting ArrayLists: > > > > ArrayList myList = List4J.getResultList(); > > > > And the elements of an ArrayList should be a bean > > too. > > > > 2) If I want to get a collection of arraylists, I > > can > > use the <logic:iterate> tag as following: > > > > <logic:iterate id="jsList" name="listForJavaScript" > > indexId="idx"> > > <logic:iterate id="myBean" name="jsList" > > indexId="index"> > > jsArray[<%=idx%>][<%=index%>] = > > <%=myBean.getYourValue()%>; > > </logic:iterate> > > </logic:iterate> > > > > Since JavaScript Array usually has the following > > form: > > myArray = new Array("sample", 1); > > > > Do I need to conform to the above routine to create > > an > > > > JavaScript Array element in order to correctly > > display > > the results? > > > > regards, > > > > rick > > > > > > > > > > > > > > --- James Childers <[EMAIL PROTECTED]> wrote: > > > You'll need to do a couple of things: > > > > > > 1) (Assuming you're using Struts, of course.) > > Create > > > your Java array/collection/whatever in the Action > > > that gets hit before your JSP page: > > > List myList = new ArrayList(); > > > // populate the list, la la la > > > request.addAttribute("listForJavascript", > > myList); > > > return mapping.findForward("success"); // Takes > > > you to, say, bongabonga.jsp > > > > > > 2) In bongabonga.jsp: > > > <head> > > > <script type="text/javascript"> > > > var jsArray = new Array(); // Do you have to > > init > > > this? I don't remember. > > > <logic:iterate id="jsList" > > > name="listForJavaScript" indexId="idx"> > > > jsArray[<%=idx%>] = <%=jsList.getYourValue()%>; > > > </logic:iterate> > > > </script> > > > > > > 3) Debug. This is all from memory. I'm sure there > > > are some glaring errors here, but this is the > > > general flow. > > > > > > -= J -- Kris Schneider <mailto:[EMAIL PROTECTED]> D.O.Tech <http://www.dotech.com/> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]