Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Problemino con Jsp e Servlet!!

    Ciao a tutti, ho un piccolo problema, ho un resultset, all'interno di una servlet, dopo aver fatto i relativi controlli se ci sono o meno alcuni campi, poichè la query è dinamica, ma non andiamo offtopic.
    Dicevo ho un resultset con il quale mi istanzio un Vector, ora devo portare questo Vector su una jsp completamente vuota, e mettere tutti i resultset in una tabella, anzi un elenco di link, più precisamente, quindi devo rendere gli elemeni del vector linkabili, ma come li posso portare dalla classe java (o servlet) alla jsp?? Considerando anche che il metodo con il quale mi "tiro fuori" il resultset mi chiede in entrata, un oggetto e la request?? Attendo risposte, spero positive, vi ringrazio anticipatamente, un saluto a tutti.
    Emix!!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Problemino con Jsp e Servlet!!

    Originariamente inviato da Emix_69
    Dicevo ho un resultset con il quale mi istanzio un Vector, ora devo portare questo Vector su una jsp completamente vuota, e mettere tutti i resultset in una tabella, anzi un elenco di link, più precisamente, quindi devo rendere gli elemeni del vector linkabili, ma come li posso portare dalla classe java (o servlet) alla jsp??
    L'approccio "buono" è quello che cerca di separare il più possibile la logica di business dalla logica di presentazione.
    La servlet può fare le query/elaborazioni che vuole (direttamente o delegando ad altre classi), quindi dovrebbe creare dei "bean" ed eventuali strutture dati (es. array, liste, altro) per "modellare" l'insieme dei dati da presentare. La pagina JSP non dovrebbe sapere nulla di query, result-set e cose simili.
    Poi la servlet dovrebbe settare questi bean/strutture dati come "attributi" in uno scope (tipicamente il request scope ma eventualmente, in certi casi, il session scope) e alla fine fare un "forward" alla pagina JSP.

    La pagina JSP preferibilmente dovrebbe usare dei custom tag di una tag library (es. JSTL o altro) per iterare sui dati e mandarli in output.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ok, a logica ti seguo, per quanto rigurda i tag, non posso usarli per l'applicazione non è mia e già esisteva e devo riprendere quello che fanno loro, solo che il codice è illegibile e sto cercando di capire quello che faccio, quindi chiedevo ciò.

    Allora ti chiedo, puoi postarmi un esempio leggibile?? Intanto io ti posto una parte del mio:
    codice:
    prepareStatement(SQL_QUERY);
    java.sql.ResultSet rslt = executeQuery();
    
    Vector V = new Vector();
    while(rslt.next()){
    sca = new SelezioneScannerAutonomaObject();
    if(rslt.getString("ID_SCANSIONE")!=""){
    
    sca.setID_SCANSIONE(Integer.parseInt(rslt.getString("ID_SCANSIONE")));
      }
    	if(rslt.getString("ANNO_SCANSIONE")!=""){
    sca.setANNO_SCANSIONE(Integer.parseInt(rslt.getString("ANNO_SCANSIONE")));
      }
            if(rslt.getString("COD_UFF_DOG")!=""){
    sca.setANNO_SCANSIONE(Integer.parseInt(rslt.getString("COD_UFF_DOG")));
      }
    	if(rslt.getString("DATA_VERB_SCANNER")!=""){
    sca.setANNO_SCANSIONE(Integer.parseInt(rslt.getString("DATA_VERB_SCANNER")));
      }
    	if(rslt.getString("TARGA_MEZO")!=""){
    sca.setTARGA_MEZO(rslt.getString("TARGA_MEZO"));
      }
            if(rslt.getString("TARGA_RIMORCHIO")!= ""){
    sca.setTARGA_RIMORCHIO(rslt.getString("TARGA_RIMORCHIO"));
      }
    	if(rslt.getString("DESCRIZIONE_MERCE")!= ""){
    sca.setDESCRIZIONE_MERCE(rslt.getString("DESCRIZIONE_MERCE"));
      }
     V.add(sca);
    }
    Questo è solo un pezzo dell'applicazione di cui ti dicevo, ora io devo vedere questo "V", sulla jsp, mi posti il codice, possibilmente??
    return V;
    }
    [/code]
    Emix!!

  4. #4
    Naturalmente il testo va dopo il return V, però l'ho scritto male e non lo posso modificare.....
    Emix!!

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Emix_69
    Ok, a logica ti seguo, per quanto rigurda i tag, non posso usarli per l'applicazione non è mia e già esisteva e devo riprendere quello che fanno loro, solo che il codice è illegibile e sto cercando di capire quello che faccio, quindi chiedevo ciò.

    Allora ti chiedo, puoi postarmi un esempio leggibile??
    Leggi questa discussione (c'è anche un esempio), dove si parlava di una questione se non uguale, molto simile.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Ho letto ma lui ha il resultset, all'interno della jsp, perchè lo ricava da li, io invece devo fare tutto in una classe java e portarlo poi nella jsp, allora pensavo di utilizzare questo:
    codice:
    <%
    PersonaDAO personaDAO = new PersonaDAO();
    
    List listaPersone = personaDAO.trovaPersoneTraAnniNascita(annoNascitaMinimo, annoNascitaMassimo);
    %>
    che a me diverrebbe:
    codice:
    MYobject MyO = new MYoblect();
    
    List listaPersone = MYoblect.modifica(MyO , request)
    Per quanto riguarda l'object non ho problemi ad istanziarlo, ma per passargli la request come faccio?? Visto che non posso istanziarla?? Attendo risposte, scusa se ti scoccio ma devo seguire determinate direttive
    Emix!!

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Emix_69
    Per quanto riguarda l'object non ho problemi ad istanziarlo, ma per passargli la request come faccio??
    setAttribute() su uno degli scope (ripeto, tipicamente il request scope, per certe cose il session scope). E dalla JSP chiaramente (con scriptlet, viste le imposizioni che hai detto) prendi la lista dallo scope e iteri, esattamente come ho mostrato nell'esempio.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    sorry se mi intrometto..
    allora, partiamo dal fatto che come diceva il nostro amico la jsp deve lavorare il meno possibile, cmq sia dalla servlet hai la request, che passi come riferimento alla tua classe, quindi hai la tua classe con un riferimento all'httprequest + il tuo vector (risultato della query)
    request.setAttribute("lista", vector);

    dalla jsp recuperi la request in un vecto con opportuno cast e lo scorri creando l'html.

    considerazioni e suggerimenti:
    IN PRIMIS
    Vector è thread safe, quindi meglio lasciarlo stare, soprattutto se utilizzi blocchi sincronizzati, megli ArrayList
    POI
    potresti utilizzare una llibreria molto comoda per ciclare sulla collaction (libreria logic), ha molti tag utili e molto facili da usare.

    IN FINE
    servlet jsp hai un pattern model2 dovresti darti una letta all'mvc

    hi
    SCJP 96%

    Sono io signore che non ti perdono,io non merito punizioni, io sono potentissimo e ora che ho visto il tuo volto merito di stare in un cielo alto più alto del tuo perché non capendo chi è l’uomo hai dimostrato di essermi inferiore,tu servirai me. Da oggi mi chiamerò Satan che significa l’Avversario.

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.