Visualizzazione dei risultati da 1 a 1 su 1

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    331

    [Struts2 + Hibernate] problemi sulla view

    Salve a tutti, sto provando a fare un server utilizzando Struts e Hibernate.
    Ho seguito alcuni esempi trovati sul web ma sto avendo dei problemi.
    In particolare sulla view non trovo i valori caricati dal DB nella corrispondente classe Action.

    struts.xml
    codice:
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
    
    
    <struts>
       <!--  il namespace è il nome da inserire dopo il server nella URL per richiamare le Action Login e Welcome -->
       <package name="test" namespace="/Test" extends="struts-default">
            <action name="Login">
                <result>pages/index.jsp</result>
            </action>
            <action name="Welcome" class="it.test.action.WelcomeUserAction" method="listPersonalData">
                <result name="SUCCESS">pages/welcome_user.jsp</result>
            </action>
        </package>
    
    
    </struts>
    WelcomeUserAction.java
    codice:
    package it.test.action;
    
    
    import java.util.ArrayList;
    import java.util.List;
    
    
    import org.apache.struts2.ServletActionContext;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    
    
    import it.test.listener.HibernateListener;
    import it.test.model.Personaldata;
    
    
    import com.opensymphony.xwork2.ActionSupport;
    import com.opensymphony.xwork2.ModelDriven;
    
    
    public class WelcomeUserAction extends ActionSupport implements ModelDriven<Personaldata> {
        
        private String username;
        private Personaldata pd = new Personaldata();
        List<Personaldata> personalDataList = new ArrayList<Personaldata>();
         
        public String getUsername() {
            return username;
        }
    
    
        public void setUsername(String username) {
            this.username = username;
        }
    
    
        // all struts logic here
        public String execute() {
            return "SUCCESS";
        }
    
    
        @Override
        public Personaldata getModel() {
            // TODO Auto-generated method stub
            return pd;
        }
        
        public List<Personaldata> getPersonaldataList() {
            if (personalDataList != null && personalDataList.size() > 0) {
                System.out.println("getPersonaldataLis -> size: "+personalDataList.size());
            }
            else {
                System.out.println("getPersonaldataLis -> size 0");
            }
            return personalDataList;
        }
    
    
        public void setPersonaldataList(List<Personaldata> customerList) {
            this.personalDataList = customerList;
        }
        
        public String listPersonalData() throws Exception{
            System.out.println("listPersonalData START!");
            //get hibernate session from the servlet context
            SessionFactory sessionFactory = 
                 (SessionFactory) ServletActionContext.getServletContext()
                         .getAttribute(HibernateListener.KEY_NAME);
    
    
            System.out.println("listPersonalData sessionFactory creata!");
            
            Session session = sessionFactory.openSession();
            System.out.println("listPersonalData sessione aperta!");
            
            personalDataList = session.createQuery("from Personaldata").list();
            
            if (personalDataList != null && personalDataList.size() > 0) {
                for (int i=0; i<personalDataList.size(); i++) {
                    Personaldata pd = (Personaldata)personalDataList.get(i);
                    System.out.println(pd.getId()+" "+pd.getFirstName()+" "+pd.getLastName()+" "+pd.getCf());
                }
            }
            else {
                System.out.println("listPersonalData nessun dato trovato!");
            }
            
            session.close();
            System.out.println("listPersonalData sessione chiusa!");
            
            System.out.println("listPersonalData END!");
            return "SUCCESS";
        }    
        
    }
    
    welcome_user.jsp
    qui la parte Hibernate sembra funzionare correttamente, infatti le print in listPersonalData mi tornano i dati attesi

    welcome_user.jsp
    codice:
    <%@ page contentType="text/html; charset=UTF-8"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <html>
    <head></head>
    <body>
    	<h1>Struts 2 Hello World Example</h1>
    
    
    	<h2>
    		Hello
    		<s:property value="username" />
    	</h2>
    
    
       <h2>
    		Elenco utenti
    		
       <table border="1px" cellpadding="8px">
    			<tr>
    				<th>Id</th>
    				<th>Nome</th>
    				<th>Cognome</th>
    				<th>Codice Fiscale</th>
    			</tr>
    			<s:iterator value="personalDataList">
    			<tr>
    				<td><s:property value="id" /></td>
    				<td><s:property value="firstName" /></td>
    				<td><s:property value="lastName" /></td>
    				<td><s:property value="cf" /></td>
    			</tr>
    			</s:iterator>
    	</table>
        </h2>
    
    
    </body>
    </html>
    Qui però personalDataList risulta vuoto.

    Probabilmente sto sbagliando qualcosa di molto banale.
    Se qualcuno avesse un suggerimento sarebbe ben accetto.
    Grazie
    S.
    Ultima modifica di DarthSandr; 11-04-2016 a 10:25

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.