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

    [JAVA] - JSP lettura dati da servlet

    Ciao a tutti,
    sono un neofita di JSP e Servlet, ma spero che qualcuno mi possa aiutare. Il problema è questo:

    1. ho una pagina A.JSP che chiama (mediante submit) una servlet (B)
    2. la server chiama un db è crea un oggetto resultSet
    3. la servlet B dovrebbe chiamare una pagina C.JSP la quale dovrebbe visualizzare il contenuto di ResultSet (questa pagina ha già la sua grafica)

    non riesco a fare il punto 3, in altre parole come posso leggere l'oggetto ResultSet da C.JSP?



    grazie
    "Considerate la vostra semenza:
    fatti non foste a viver come bruti,
    ma per seguir virtute e canoscenza''."
    Dante Alighieri

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

    Re: [JAVA] - JSP lettura dati da servlet

    Originariamente inviato da BlackBird
    in altre parole come posso leggere l'oggetto ResultSet da C.JSP?
    Tecnicamente sarebbe anche possibile ma ..... concettualmente non dovresti.

    Scenario: nella pagina A (che sia una jsp o un html "statico" questo non importa molto in questo momento) c'è un form il cui invio causa una request ad una servlet. La servlet dovrebbe fare le seguenti cose, per gestire il tutto in modo "pulito" e secondo il noto pattern MVC.

    a) La servlet riceve i dati dal form e invoca altre classi che effettuano una query sul db. Le altre classi dovrebbero creare una struttura dati che "modella" in modo appropriato i dati prelevati dal db. Per fare un esempio, se la query è su una tabella 'libri', sarebbe appropriato avere una classe Libro e quindi creare e popolare un ArrayList di oggetti Libro.

    b) La servlet imposta questa collezione di dati come attributo in uno "scope", ad esempio nel request scope o nel session scope (dipende ...).

    c) La servlet usa un RequestDispatcher per fare un "forward" ad un'altra risorsa, in questo caso tipicamente è una pagina jsp.

    d) La pagina jsp può ovviamente accedere agli scope indicati e tramite apposite tag library, come JSTL o altro è in grado di iterare sulla collezione e visualizzare dati e proprietà degli oggetti.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ti ringrazio e sei stati molto chiaro
    Ti chiedo se hai qualche esempio?
    Grazie ancora
    "Considerate la vostra semenza:
    fatti non foste a viver come bruti,
    ma per seguir virtute e canoscenza''."
    Dante Alighieri

  4. #4
    Ho visto su questo sito http://www.dsi.unive.it/~roncato/inf.../lezione7.html quello che dicevi tu ....
    La domanda è se ho un Array di oggetti come faccio ad iterare in jsp..quali tag uso?
    Grazie
    "Considerate la vostra semenza:
    fatti non foste a viver come bruti,
    ma per seguir virtute e canoscenza''."
    Dante Alighieri

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da BlackBird
    Ho visto su questo sito http://www.dsi.unive.it/~roncato/inf.../lezione7.html quello che dicevi tu ....
    La domanda è se ho un Array di oggetti come faccio ad iterare in jsp..quali tag uso?
    Per rispondere a questa e alla precedente domanda, ecco un esempio:

    Nella servlet:

    codice:
    ....
        public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
            ArrayList booksList = new ArrayList();
            booksList.add(new Book("Java I/O, Second Edition", "O'Reilly"));
            booksList.add(new Book("Java Concurrency in Practice", "Addison-Wesley"));
    
            request.setAttribute("books", booksList);
    
            RequestDispatcher dispatcher = request.getRequestDispatcher("/books.jsp");
            dispatcher.forward(request, response);
        }
    ....
    Book è un banale "bean" con 2 proprietà 'title' e 'publisher'.

    Nella pagina books.jsp:

    codice:
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
    <body>
    
    <c:forEach items="${requestScope.books}" var="book">
    <c:out value="${book.title}"/> - <c:out value="${book.publisher}"/>
    
    </c:forEach>
    
    </body>
    </html>
    Chiaramente nella web application va configurato il tutto mettendo anche i jar per JSTL (io uso la implementazione fornita da Apache Jakarta).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Super Grazie
    "Considerate la vostra semenza:
    fatti non foste a viver come bruti,
    ma per seguir virtute e canoscenza''."
    Dante Alighieri

  7. #7
    Scusa ho un problema,
    ho una servlet che legge un record (UNO SOLO VIENE RESTITUITO)... come posso passarlo a una pagina JSP che lo dovrà visualizzare in un form?

    Così va bene:

    Codice PHP:
        public void doGet(HttpServletRequest requestHttpServletResponse response)
        
    throws ServletExceptionIOException {
            
    ArrayList booksList = new ArrayList();
            
    booksList.add(new Book("Titolo""Autore"));

            
    request.setAttribute("books"booksList);

            
    RequestDispatcher dispatcher request.getRequestDispatcher("/books.jsp");
            
    dispatcher.forward(requestresponse);
        } 

    Nel JSP come visualizzo il valore in un text area? Per intederci lo visualizzo qui:

    Codice PHP:
    <input name="txtCognome" type="text" id="txtCognome" value="<c:out value="????"/>"
    Grazie
    "Considerate la vostra semenza:
    fatti non foste a viver come bruti,
    ma per seguir virtute e canoscenza''."
    Dante Alighieri

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da BlackBird
    ho una servlet che legge un record (UNO SOLO VIENE RESTITUITO)... come posso passarlo a una pagina JSP che lo dovrà visualizzare in un form?
    Cioè la visualizzazione non è di un "elenco" ma proprio del singolo "record"?? Allora basta che metti direttamente l'oggetto in un attributo (non in una lista in un attributo).

    Facendo l'esempio sempre del libro:

    codice:
    Book book = new Book(......);
    
    request.setAttribute("oneBook", book);
    E poi nella JSP usi es. ${requestScope.oneBook.title}

    Originariamente inviato da BlackBird
    Nel JSP come visualizzo il valore in un text area? Per intederci lo visualizzo qui:

    Codice PHP:
    <input name="txtCognome" type="text" id="txtCognome" value="<c:out value="????"/>"
    Esatto, proprio così, devi generare in output il testo che in HTML va dentro value di <input> (e quindi va codificato con le entity base &gt; &quot; ecc... come fa <cut>).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    grazie
    "Considerate la vostra semenza:
    fatti non foste a viver come bruti,
    ma per seguir virtute e canoscenza''."
    Dante Alighieri

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.