This doesn't directly address your question, but it seems to me that it
isn't a great idea to name your action method getList(). The default
assumption a reader will make is that getList() is a method intended to
return the value of a field called "list". It is not clear to me how this
would interact with Struts. Anyway -- I'd rename that method to execute()
or something, if I were you.
Anyway, as to your actual question, you appear to be iterating over the
"round" field of the "eventList" object, which doesn't have a "round" field
at all. I suspect that you just want to iterate over eventList itself (or
#session.eventList, I forget offhand).
jk
On Tue, Aug 26, 2008 at 1:30 PM, Chriss Nold <[EMAIL PROTECTED]> wrote:
> Hello All,
> I am trying to retreive a list from the session and display that list
> on a jsp, but I am not entirely sure of the correct syntax for reading the
> list. Any help would be appreciated. Here is the code that I am cuurently
> using:
> Action class:
> package round;
>
> import java.sql.Connection;
> import java.sql.DriverManager;
> import java.sql.ResultSet;
> import java.sql.SQLException;
> import java.sql.Statement;
> import java.util.ArrayList;
> import java.util.List;
> import java.util.Map;
>
> import com.opensymphony.xwork2.ActionContext;
> import example.ExampleSupport;
> public class GetListAction extends ExampleSupport{
> public String getList() throws SQLException {
> Round round = new Round();
> List<Round> eventList = new ArrayList<Round>();
> Map session = (Map)ActionContext.getContext().get("session");
> String userName = String.valueOf(session.get("userName"));
> try {
> Statement stmt;
> Class.forName("com.mysql.jdbc.Driver");
> String url =
> "jdbc:mysql://localhost:3306/Nexus";
> String sql = "Select * " +
> "FROM round WHERE userName='" + userName + "'";
> Connection con =
> DriverManager.getConnection(
> url,"root", "*****");
> stmt = con.createStatement();
> ResultSet rs = stmt.executeQuery(sql);
> while(rs.next()){
> round.setMatchID(rs.getInt(1));
> round.setEventID(rs.getInt(2));
> round.setUserName(rs.getString(3));
> round.setRound(rs.getInt(4));
> round.setPersona(rs.getString(5));
> round.setResult(rs.getInt(6));
> round.setOpponent(rs.getString(7));
> eventList.add(round);
> }
> con.close();
> }catch( Exception e ) {
> e.printStackTrace();
> }
> session.put("eventList", eventList);
> System.err.println("Session objects: " + session.get("eventList"));
> return SUCCESS;
> }
> }
>
> Query is successful, and System.err.println displays: Session objects:
> [EMAIL PROTECTED]
>
> JSP:
> <[EMAIL PROTECTED] prefix="s" uri="/struts-tags" %>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "
> http://www.w3.org/TR/html4/strict.dtd">
> <html>
> <head>
> <title>Welcome to Nexus!!!</title>
> <LINK rel="stylesheet" type="text/css" href="../css/styles.css">
> </head>
>
> <body background="../images/containment.jpg">
>
> <table width="100%">
> <tr>
> <td width="10%" rowspan="4">
>
> <s:include value="../includes/menu.jsp"/>
>
> </td>
> <td>
> <table border="0" width="90%" align="center">
> <tr>
> <td align="center">
> <h3>
> Welcome to the Nexus, <s:property
> value="#session.userInfo.firstName"/>
> </h3>
> </td>
> </tr>
> <tr>
> <td align="center">
> <table class="round">
> <tr>
> <th><font color="white">Match ID</font></th>
> <th><font color="white">Event ID</font></th>
> <th><font color="white">Persona Used</font></th>
> <th><font color="white">Opponent</font></th>
> <th><font color="white">Result</font></th>
> <th><font color="white">Round</font></th>
> </tr>
> <tr>
> <s:iterator value="#eventList.round" status="rowstatus">
> <tr>
> <s:if test="#rowstatus.odd == true">
> <td style="background: grey">
> <s:property value="matchID" />
> <s:property value="eventID" />
> <s:property value="persona" />
> <s:property value="opponent" />
> <s:property value="result" />
> <s:property value="round" />
> </s:if>
> <s:else>
> <s:property value="matchID" />
> <s:property value="eventID" />
> <s:property value="persona" />
> <s:property value="opponent" />
> <s:property value="result" />
> <s:property value="round" />
> </s:else>
> </tr>
> </s:iterator>
> </tr>
> </table>
> </td>
> </tr>
> </table>
> </table>
> </body>
> </html>
>
> Displays users first name, but not the list.
>
> Struts2 mapping:
>
> <action name="viewTournaments" class="round.GetListAction"
> method="getList">
> <result
> name="success">/jsp/tournament/tournamentList.jsp</result>
> <interceptor-ref name="basicStack"/>
> </action>
>
> Thanks in advance for the help,
> Chriss
>
--
Jim Kiley
Technical Consultant | Summa
[p] 412.258.3346 [m] 412.445.1729
http://www.summa-tech.com