Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    38

    [Strtus2]Pasasggio dati

    Ciao a tutti, ho un problema, ho una classe personManager che è una lista di Persone, il problema è che devo usare questa classe in altre classi, come faccio a a passare il contenuto di questa lista?
    Sto facendo un progetto per la tesi e sono in crisi.. qualcuno può aiutarmi??? grazie..

  2. #2
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    cosa intendi per passare? da dove a dove?
    probabilemnte avrai un bean di sessione che è sempre definito. lì dentro c metti quello ceh vuoi trasportare in giro.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    38
    Ti faccio un esempio, nella mia classe personaManager ho una lista di persone, io avrò una pagina1 con una classe pagina1.java nella quale inizializzo la classe personaMenager;
    poi avrò una pagina2 con la classe pagina2.java che dovrà recuperare i dati dalla lista PersonaManager e per esempio aggiungere una elemento alla lista.. Spero di averti fatto capire il problema..

  4. #4
    mmmh... non è chiarissimo quello che intendi. Sembra un problema semplice ma dovresti essere un po' più chiaro, magari prova a postare qualche frammento di codice se può servire a rendere tutto più chiaro.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    38
    Allora, Ho una classe User, in questa classe inizilizzo un nuovo EsPRodottoManager, che è una lista di prodotti, e nella pagina user.action risco a farmi passare il valore della descrizione del secondo prodotto(Questa è solo una prova, per capire come si passano i dati), il problema è che una volta che confermo e vado nella pagina Risp_user2 mi da un NullPointerException perchè non riesco a passargli la lista di prodotti(EsPRodottoManager) inizializzata prima.
    Penso che sia una cavolata, perchè avevo fatto questo progetto in spring ed era molto facile il passaggio di questo valore, ma con Struts non riesco a capire come si faccia..
    package example;
    import com.opensymphony.xwork2.*;
    import example.Prodotto;
    import example.EsProdottoManager;

    public class User extends ActionSupport
    {
    public String execute() throws Exception
    {
    EsProdottoManager prodottoManager= new EsProdottoManager();


    Prodotto prodotto= new Prodotto();
    prodotto=prodottoManager.getProdotti().get(1);


    setDesc_pass(prodotto.getDescrizione());
    return SUCCESS;

    }

    Prodotto prodotto = new Prodotto();
    private String nome="nome_USer_java";
    private String cognome;

    private String desc_pass="no";
    <%@ page contentType="text/html; charset=UTF-8" %>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <html>
    <head>
    <title>USER</title>
    </head>
    <body>
    <s:form action="Risp_user" validate="true" namespace="/example">

    <s:textfield label="nome" name="nome" id="nome"/>
    <s:textfield label="cognome" name="cognome" id="cognome"/>



    <s:submit value="Conferma" name="Conferma"/>
    <s:reset value="Cancella"/>

    </s:form>



    desc passata:<sroperty value="desc_pass" />
    </p>



    </body>
    </html>


    package example;

    import com.opensymphony.xwork2.*;
    import example.Prodotto;
    import example.EsProdottoManager;


    public class Risp_user2 extends ActionSupport {

    public String execute() throws Exception {


    Prodotto prodotto= new Prodotto();
    prodotto=prodottoManager.getProdotti().get(1);

    setDesc_pass(prodotto.getDescrizione());
    return SUCCESS;
    }

    Prodotto prodotto;
    EsProdottoManager prodottoManager;
    private String nome="CIAO";
    private String cognome;
    private String descrizione="pippo";
    private String desc_pass="no";





    public String getNome() {
    return (this.nome); }

    public void setNome(String nome) {
    this.nome = nome; }

    public String getCognome() {
    return (this.cognome); }


    public void setCognome(String cognome) {
    this.cognome = cognome; }


    public String getDescrizione() {
    return (this.descrizione); }


    public void setDescrizione(String descrzione) {
    this.descrizione = descrizione; }

    public String getDesc_pass() {
    return (this.desc_pass); }


    public void setDesc_pass(String desc_pass) {
    this.desc_pass = desc_pass; }

    public void setProdotto(Prodotto prodotto) {
    this.prodotto = prodotto; }

    public void setEsProdottoManager(EsProdottoManager prodottoManager) {
    this.prodottoManager = prodottoManager;
    }
    public EsProdottoManager getEsProdottoManager()
    {
    return prodottoManager;
    }


    }

    <%@ page contentType="text/html; charset=UTF-8" %>
    <%@ taglib prefix="s" uri="/struts-tags" %>



    <html>
    <head>
    <title>Risposta2</title>
    </head>
    <body>

    <h2>Risposta</h2>
    DESC:<sroperty value="descrizione" />



    prova:<sroperty value="nome" />
    </p>

    desc passata:<sroperty value="desc_pass" />
    </p>








    Torna a pagina iniziale;

    <s:url id="UrlId" value="User.action">
    </s:url>


    <s:a href="%{UrlId}">
    link
    </s:a>



    </body>
    </html>

  6. #6
    Ah ma stai parlando di un sito... ecco perchè non capivo cosa intendessi per "pagina" ). In questo caso io non ti so aiutare, mi spiace. Comunque non capisco perchè sei passato da Spring a Struts... che dovrebbe essere un passo indietro giusto?

  7. #7
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    io usavo struts 1.3, nn il 2.
    cmq, da quello che facevo io in quello vecchio, avevo un bean (ActionForm) che era anche un parametro della Action (la tua classe java), io recuperavo quel form e lì dentron inserivo i miei oggetti. una volta inseriti richimavo la jsp (con il return SUCCES come fai tu) e dentro la jsp richiamavo il bean di sessione.
    ora, da quello che ho letto velocemnte nel codice (e ripeto, non so se funzioni così anche in strtus 2) penso che a tu crei l'oggetto, ma non lo setti in nessun oggetto di sessione. quindi finita l'action l'oggetto scompare.
    puoi postare l'xml di configurazione di struts?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    38
    il file xml è questo:
    <action name="User" class="example.User">
    <param name="nome">Ciccio</param>
    <param name="cognome">Pasticcio</param>
    <result name="input">/example/User.jsp</result>
    <result>/example/User.jsp</result>

    </action>

    <action name="Risp_user2" class="example.Risp_user2">
    <result name="input">/example/Risp_user2.jsp</result>
    <result>/example/Risp_user2.jsp</result>

    </action>
    Sbaglio qualcosa qui???
    Posso chiederti un'altra cosa? Ma esattamente cosa intendi per oggetto di sessione?

  9. #9
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    io facevo così
    codice:
    <form-beans>
            <form-bean name="nomeBean" type="nomepakage.nomeclasse"/>       
        </form-beans>
    
            <action path="/path"  name="nomeBean" scope="session" type="nomePakage.nomeAction" 
                <forward name="SUCCESS" path="nomedeltiels o quello che vuoi te"/>            
            </action>
    poi ovviamente la mia classe bean (quella in nomepakage.nomeclasse) aveva tt i campi che mi servivano, nel tuo caso la lista (mi pare sia una lista)

    e dentro la action facevo

    codice:
    public ActionForward execute(ActionMapping mapping, ActionForm  form,
                HttpServletRequest request, HttpServletResponse response)
                throws Exception {     
    
            NomeDellaClasse que = (NomeDellaClasse)form;
    qui setti i il campo
    poi fai il success
    PS: nome classe è il nome della classe, per capirci quello specificato nel xml senza aggiungere il package.

    la jsp utilizzi il nome : nomeBean del file xml per richiamare i vari metodi etc.

    purtropo non so se nel 2 si faccia allo stesso modo.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    38
    Originariamente inviato da bitrider
    Ah ma stai parlando di un sito... ecco perchè non capivo cosa intendessi per "pagina" ). In questo caso io non ti so aiutare, mi spiace. Comunque non capisco perchè sei passato da Spring a Struts... che dovrebbe essere un passo indietro giusto?
    Sto facendo la tesi, e dovevo implementare un sito con entrambi....

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.