Newsgroup: it.comp.java
Titolo: [STRUTS]getItems() o execute()???

Salve a tutti, sono newbe e sto alienando il NG con i miei problemi su
strust, da diverso tempo.
Dopo tanto studio, ora sto accingendomi a creare la mia prima view, ma ho
diverse difficolta' e mi perdo molto tra i cavilli delle convenzioni per i
Bean, JSP e file di configurazione.
In particolare ho creato una tabella "IMMAGINI" in Oracle con 2 campi "PATH"
e "NOME" ed ora vorrei visualizzarli in una JSP, usando struts.
Per fare questo :
1. Ho creato un bean Immagini che rispecchia
   la struttura della tabella (se volete lo posto)
2. Ho creato una classe che estenda la action e l'ho
   chiamata DBConForm (lo so, avrei dovuto chiamarla DBConAction :S)
   con i seguenti metodi:
     a. Connetti
     b. execute
     c. getItems
   e la seguente variabile privata:
     List items = new ArrayList();
   Il metodo execute mi chiama Connetti e popola items:
    public ActionForward execute(ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
     HttpServletResponse response)
     throws Exception {
       Locale locale = getLocale(request);
       MessageResources messages = getResources(request);
       HttpSession session = request.getSession();
       try{
          if (conn == null)
            Connetti("jdbc:oracle:thin:nuke/singapore@davide:1521:sweet");
          Statement stmt = conn.createStatement ();
          System.out.println("Executing query " + query + "\n");
          ResultSet rset = stmt.executeQuery (query);
          while (rset.next()){
            Immagini immagini = new Immagini();
            immagini.setPath(rset.getString("PATH"));
            immagini.setNome(rset.getString("NOME"));
            items.add(immagini);
            //di qui ci passa, lo vedo sul log :-D
            System.out.println(rset.getString(1) + "\t" +
rset.getString(2));
          }
        System.out.println("done.\n");
        }catch (Exception e){ // Errore
            System.out.println(e.getMessage () + "\n");
        }
        if (items != null)
          session.setAttribute("items", items);
        return (mapping.findForward("matrimonio"));
    }
   Il metodo getItems ritorna il valore di items.
3. Ho editato il file struts-config.xml aggiungendo:
     ...
     <forward name="matrimonio"
              path="/pages/Matrimonio.jsp"
              redirect="false" />
     ...
     <action path="/Matrimonio"
             parameter="/pages/Matrimonio.jsp"
             type="it.sweetvillage.nuke.DBConForm"
             name="dBConForm"
             scope="session" />
     ...
4. Ho scritto una jsp che si chiama pages/Matrimonio.jsp per presentarmi i
dati, usando i tag di struts:
     ...
     <logic:iterate id="dBCon" name="items" property="items">
       <tr>
         <td align="left">
           <bean:write name="dBCon" property="PATH" filter="true"/>
         </td>
         <td align="left">
           <bean:write name="dBCon" property="NOME" filter="true"/>
         </td>
       </tr>
     </logic:iterate>
     ...
Tra i vari errori che ho commesso, questo e' l'ultimo che Tomcat mi sputa
fuori:
  org.apache.jasper.JasperException:
  No getter method for property items of bean items
Ho fatto moltissimi casini??? Sono cosi' irrecuperabile???
A chi mi aiuta offro una birra gigante ;-) PROMESSO!!!

Scusate il doppio post, era un errore...