Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205

    [jsp + javabean]ricerca visualizza prenota

    Salve,
    dopo avermi aiutato con il metodo ricerca adesso ho un altro problema!
    Iniziamo:
    pagina cerca.jsp
    codice:
    <%
                session = request.getSession();
     
                String libro = "";
                String op = request.getParameter("op");
                
                if (op.equals("ricerca")) {
                    libro = (String) request.getAttribute("provamia");
                }
    
    %>
    
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>
        <body>
            <div align="left">
    
                CERCA LIBRI
    
            </div>
            <p align="left">
                Cerca i libri che ti interessano</p>
            
    
            
    
            <form action="Controller?op=ricerca" method="post">
           //qui ho delle input tag per il titolo,autore,editore,anno publicazione
            </form>
            
    
            
    
            
    
    
    <% if(libro.equals("")){%>
    Il libro non è presente in biblioteca!
    
    <%}else{
    session.setAttribute("prenotazione", libro);
    %>
    <table border="1" WIDTH="55%" cellpadding="10" cellspacing="1">
        <tr>
            <th>Titolo</th>
            <th>Autore</th>
            <th>Editore</th>
            <th>Anno publicazione</th>
        </tr>
        <tr>
            <%=libro%>
        </tr>
    </table>
    <table border="0">
        <tr>
            <td>
            E' possibile prenotare!
            </td>
    
            <td>
    
            <form method="post" action="Controller?op=prenota">
            <input type="submit" value="prenota">
            </form>
    
            </td>
    
    <%}%>
        </tr>
    </table>
        </body>
    </html>
    per prima cosa la ricerca mi manda nel mio Controller.java:
    codice:
            if("ricerca".equals(op)) {
                    String titolo = request.getParameter("titolo");
                    String autore = request.getParameter("autore");
                    String editore = request.getParameter("editore");
                    String annopub = request.getParameter("annopub");
    
                    session.setAttribute("titolo", titolo);
                    session.setAttribute("autore", autore);
                    session.setAttribute("editore", editore);
                    session.setAttribute("annopub", annopub);
    
                    String risultato ="";
    
                    risultato = u.cerca_libro(titolo,autore,editore,annopub);
                    request.setAttribute("provamia", risultato);
    
                    request.getRequestDispatcher("/cerca_libri.jsp").forward(request, response);
    
            }
    il metodo cerca_libro(titolo,autore,editore,annopub) mi restituisce una stringa
    es:
    codice:
    <tr><td>I tre moschettieri</td><td>Dumas</td><td>Rizzoli</td><td>1844</td>
    a questo punto torno in cerca_libri.jsp
    che mi vualizza sotto le mie input in una tabella i risultati ottenuti dalla mia ricerca e tutto funziona perfettamente!
    Il mio problema è che non so come fare per effettuare la prenotazione!
    sapete cosa consigliarmi esaminare la stringa mi sembra complicato? il metodo cerca_libro(titolo,autore,editore,annopub) mi restituisce una stringa devo farmi restituire altro?poi come lo gestisco!

    Sono stato un pò lungo chiedo scusa e grazie per le risposte!

  2. #2
    Per come hai costruito la cosa ti tocca perforza lavorare con la stringa "libro" per estrarre le informazioni che ti servono per la prenotazione. Le alternative sarebbero altrimenti:
    1) La più elegante, dal mio punto di vista, è crearti un oggetto libro con tutte le proprietà che ti servono e poi lavori con questo oggetto nelle tue pagine; in questo modo puoi tranquillamente passare gli attributi che ti servono per la prenotazione.
    2)aggiungi un altro attributo alla request, passando il "codice" univoco del libro che poi passerai ad un servlet, un modo semplice è tramite un link, che si occuperà della prenotazione.
    Spero di esserti stato utile
    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205
    Originariamente inviato da francesco.muia
    Per come hai costruito la cosa ti tocca perforza lavorare con la stringa "libro" per estrarre le informazioni che ti servono per la prenotazione. Le alternative sarebbero altrimenti:
    1) La più elegante, dal mio punto di vista, è crearti un oggetto libro con tutte le proprietà che ti servono e poi lavori con questo oggetto nelle tue pagine; in questo modo puoi tranquillamente passare gli attributi che ti servono per la prenotazione.
    2)aggiungi un altro attributo alla request, passando il "codice" univoco del libro che poi passerai ad un servlet, un modo semplice è tramite un link, che si occuperà della prenotazione.
    Spero di esserti stato utile
    Ciao
    Grazie mille per l'aiuto! se dovessi invece cambiare la costruzione?

  4. #4
    Allora come ti ho detto prima. Puoi costruire una classe Libro:
    codice:
    public Class Libro{
      private String titolo;
      private String editore;
      .....
    //evenutale costruttori  
    //get and setter
    }
    E a questo punto di basta lavorare un oggetti di Tipo libro, cioè intendo che quando chiami il metodo "cerca_libro" (usa magari le convenzione java per la nomenclatura "cercaLibro...")
    fai in modo che ti ritorno un oggetto di Tipo libro che poi passerai alla pagina jsp. A questo punto nella pagina jsp potrai accedere a tutte le proprietà, chiamando i vari getter, e cosi ti potrai creare un link che invia ad una servlet eventualmente solo il titolo del libro.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205
    Ho creato la classe libro ho modificato il metodo cerca_libro di modo che mi restituisca un oggetto Libro come modifico il Controller.java?

    Grazie

  6. #6
    Domanda al quanto banale, ti basta passare il tuo libro alla request
    codice:
    request.setAttribute("libro",libro);

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205
    Originariamente inviato da francesco.muia
    Domanda al quanto banale, ti basta passare il tuo libro alla request
    codice:
    request.setAttribute("libro",libro);
    Così?
    Controller.java
    codice:
            if("ricerca".equals(op)) {
                    String titolo = request.getParameter("titolo");
                    String autore = request.getParameter("autore");
                    String editore = request.getParameter("editore");
                    String annopub = request.getParameter("annopub");
    
                    session.setAttribute("titolo", titolo);
                    session.setAttribute("autore", autore);
                    session.setAttribute("editore", editore);
                    session.setAttribute("annopub", annopub);
                    
                    Libro libro;
    
                    libro = u.cerca_libro(titolo,autore,editore,annopub);
                    request.setAttribute("provamia", libro);
    
                    request.getRequestDispatcher("/cerca_libri.jsp").forward(request, response);
    
            }

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.