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

    [JSP SERVLET] Usere un bean dentro una servlet

    Salve a tutti, io mi stavo domandando come usere un bean dentro una servlet. Posto un piccolo esempio per sapere se è corretto usarlo così:
    codice:
    home.jsp (Pagina iniziale) 
    <html><head></head><body> 
    <jsp:useBean id="utente" scope="session" class="infoutente" />
    <form action="/info" method="post"> 
    ... ... ... 
    </body></html>
    
    infoutente.java (bean) 
    public infoutente{ 
    private String nome=null; 
    public void setName(String nome) {     this.nome=nome; } 
    public String getName() {   return nome; } 
    }
    
    info.java (servlet) package infoutente
    public class info extends... 
    ... ... 
    infoutente utente=(infoutente) request.getParameter("utente");
    utente.setName("giovanni");
     .... ... ... 
    }
    
    risultato.jsp (pagina con il risultato) 
    <html><head></head><body> 
    <jsp:useBean id="utente" scope="session" class="infoutente" /> 
    <% out.println(utente.getName()); %> 
    ... 
    </body></html>

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da kyoboom Visualizza il messaggio
    codice:
    infoutente utente=(infoutente) request.getParameter("utente");
    No, i parametri sono solo stringhe, quindi non puoi "prendere un bean" da un parametro.
    In una servlet che ha appena ricevuto, dal client, una request, puoi solo creare nuovi bean (da inserire poi eventualmente in uno degli scope request/session/context) oppure riottenere un bean da uno degli scope (dal request solo se lo avevi appena messo tu poco prima nella servlet).

    Quote Originariamente inviata da kyoboom Visualizza il messaggio
    codice:
    <% out.println(utente.getName()); %>
    Per evitare problemi con i caratteri speciali (se il name ne contiene) sarebbe meglio usare ad esempio il <c:out> di JSTL invece che <jsp:useBean>+scriptlet.
    Ultima modifica di andbin; 13-11-2013 a 13:34
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Grazie della risposta, non ho capito una cosa. Ma se io dovessi per forza accedere al bean dalla servlet perchè questo è un bean con scope application, cosa dovrei fare?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da kyoboom Visualizza il messaggio
    Ma se io dovessi per forza accedere al bean dalla servlet perchè questo è un bean con scope application, cosa dovrei fare?
    Lo scope "application" è relativo al ServletContext, quindi i suoi metodi get/set/removeAttribute.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.