I’ve got an ArrayList of objects that I read from a txt file, RegistrationFormBean(); is the element type
public List getuserList() throws IOException{
InputStream input = new FileInputStream("log.txt");
int i=0;
String temp[]=new String[5];
tmp= new RegistrationFormBean();
BufferedReader in = new BufferedReader(new FileReader("log.txt"));
while ((str = in.readLine()) != null) {
StringTokenizer st = new StringTokenizer(str,"\t\t");
while(st.hasMoreElements()){
temp[i]=st.nextElement().toString();
}
tmp.setName(temp[0]);
tmp.setCognome(temp[1]);
tmp.setCitta(temp[4]);
tmp.setDdnascita(temp[2]);
tmp.setCodfisc(temp[3]);
userList.add(tmp);
}
in.close();
return userList;
}
this is the jsp page that should iterate over the arraylist returned and print the attributes for each element of the arraylist
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<jsp:useBean id="userList" scope="request" class="com.webagesolutions.struts.actions.query"/>
<html:html>
<HEAD>
<%@ page
language="java"
contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"
%>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META name="GENERATOR" content="IBM WebSphere Studio">
<META http-equiv="Content-Style-Type" content="text/css">
<LINK href="theme/Master.css" rel="stylesheet" type="text/css">
<TITLE></TITLE>
</HEAD>
<BODY>
<table border=1>
<logic:iterate name="userList" id="nextElement" property="userList">
<tr>
<td><bean:write name="nextelement" property="name"/></td>
<td><bean:write name="nextElement" property="cognome"/></td>
<td><bean:write name="nextElement" property="ddnascita"/></td>
<td><bean:write name="nextElement" property="codfisc"/></td>
<td><bean:write name="nextElement" property="citta"/></td>
</tr>
</logic:iterate>
</table>
</BODY>
</html:html>
So I’m wondering how to access the elements of next element, suppose that the property are the element.name element.cognome element.ddnascita (attributes of element), should I define some getters in the class that reads the txt file ?
should I reference the element type in the jsp page ?
note that with the code I’ve wrote I get only the first column printed and it contains the “citta” wich in my tmp is the last attribute of the element,
also I’ve did a debug and the list gets loaded correctly so the problem I suppose is in the jsp page.
You can use
<nested:nest>tag to access nested properties.To use it, you need to add the taglib in the JSP page:
For the above example, you have
userListas list of the parent beans, which has some composite properties likecognomeand plain String properties likename. Now, start iterating theuserListlike this: