Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329

    Qualcuno mi spiega come fare per creare un BEAN?

    Salve, il mio problema è quello di non sapere come fare per "creare" un bean;
    ho creato un file user.java l'ho compilato quindi ho anche il file user.class , ma per usare in una pagina JSP dove lo devo inserire.....
    La cartella in esame è strutturata in questo modo:
    /TestJSP
    /java
    /WEB-INF
    /testUser.jsp

    La classe è un esempio che ho trovato sul forum:
    codice:
    class InfoUser{
    
    private String name = null;
    private String email = null;
    private int pagineViste;
    
    public InfoUser(){ pagineViste=0; }
    
    public void aggiornaPV(){ pagineViste++; }
    public int getPV(){return pagineViste;}
    public void setNome(String nameValue){name=nameValue;}
    public String getName(){ return name; }
    public void setEmail(String email){ this.email = email; }
    public String getEmail(){ return email; }
    
    public String stampa(){
    	String info = null;
    	info +="Il nome dell'utente è "+name+", ";
    	info +="il suo indirizzo email è "+email+", ";
    	info +="e ha visitato "+pagineViste+ "del sito.";
      return info;
    }
    
    }
    Help me, grazie.
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

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

    Re: Qualcuno mi spiega come fare per creare un BEAN?

    Originariamente inviato da Donovant
    ma per usare in una pagina JSP dove lo devo inserire.....
    Innanzitutto in una web application Java EE le classi possono stare o sotto WEB-INF/classes per i .class "sfusi" (importante, con i nomi di package che si "riflettono" nelle cartelle) oppure impacchettati in jar messi sotto WEB-INF/lib. E questo vale in generale.

    Poi per usare un "bean" in una JSP ... bisogna vedere dove e come vuoi istanziarlo. Con dello scriptlet? Con la standard action <jsp:useBean>? Da una servlet e poi "passarlo" ad una JSP?

    Dipende .... da cosa devi fare.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329
    Vorrei semplicemente fare delle prove in jsp, e vedere come usare delle classi...
    cmq il codice html è questo:
    Codice PHP:
    <%@ page contentType="text/html; charset=utf-8" language="java" import="java.util.*" errorPage="" %>
    <!
    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml">
    <
    head>
    <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <
    title>Test CLASSE</title>
    </
    head>

    <
    body>

    <
    jsp:useBean id="user" class="InfoUser" scope="session" />

    </
    body>
    </
    html
    Quindi per la classe "InfoUser" ho usato NetBeans ho creato un nuovo progetto ho compilato la classe ed ho preso il file .class e l'ho inserito nella cartella "/TestJSP" che sta in "webapps"....
    In Netbeans quando ho creato la classe "lui" in automatico ha dichiarato che la classe fa parte di un package "infouser".
    Spero di essere stato chiaro , così da poter ricevere un buon aiuto, a quello che ho combinato.
    Grazie
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

  4. #4
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329
    Allora ho inserito la classe in un package:
    Codice PHP:
    package user;

    class 
    InfoUser{

    private 
    String name null;
    private 
    String email null;
    private 
    int pagineViste;

    public 
    InfoUser(){ pagineViste=0; }

    public 
    void aggiornaPV(){ pagineViste++; }
    public 
    int getPV(){return pagineViste;}
    public 
    void setNome(String nameValue){name=nameValue;}
    public 
    String getName(){ return name; }
    public 
    void setEmail(String email){ this.email email; }
    public 
    String getEmail(){ return email; }

    public 
    String stampa(){
        
    String info null;
        
    info +="\nIl nome dell'utente è "+name+", ";
        
    info +="il suo indirizzo email è "+email+", ";
        
    info +="e ha visitato "+pagineViste" pagine del sito.";
      return 
    info;
    }

    }
    //END CLASS 
    Netbeans mi ha creato due cartelle "user":
    1) src/user/InfoUser.java
    2) build/classes/user/InfoUser.class

    Ora che devo fare? Io ho provato a copiare prima tutta la cartella "user" ed incollarla in "Apache5.5/WEB-INF/user" e poi a richiamarla "class=user.InfoUser" e poi copiando solo il file "InfoUser.class" e richiamandola "class=InfoUser"...ma ancora nada mi da come errore: "org.apache.jasper.JasperException: /testClasse.jsp(55,0) The value for the useBean class attribute InfoUser is invalid."
    Non capisco perchè....per caso devo importare il file .java nel foglio .jsp?

    Grazie
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

  5. #5
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329
    Nessuno mi sa dare una mano?
    Magari ho sbagliato il classpath, help me, thanks.
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Donovant
    Netbeans mi ha creato due cartelle "user":
    1) src/user/InfoUser.java
    2) build/classes/user/InfoUser.class

    Ora che devo fare? Io ho provato a copiare prima tutta la cartella "user" ed incollarla in "Apache5.5/WEB-INF/user"
    Scusa ma non capisco perché devi fare queste operazioni "manuali" ... non puoi creare da NetBeans (ammesso che sia completo/configurato in modo appropriato) un "progetto" per una web application?? Perché è questo che servirebbe.

    Io NetBeans non lo uso/conosco .... uso Eclipse che se ha i tools per Java EE è perfettamente in grado di creare web application ed usare server come Tomcat o altri.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329
    Ora funziona tutto (stranamente), forse avrei dovuto riavviare il server ad ogni modifica.
    L'unica cosa ancora non chiara è che se importo la classe e uso i metodi tutto va a buon fine, se invece uso <jsp:useBean .../> quando vado a settare una proprietà con <jsp:setProperty.../> mi da errore "Cannot find any information on property 'name' in a bean of type 'user.InfoUser' "
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Donovant
    con <jsp:setProperty.../> mi da errore "Cannot find any information on property 'name' in a bean of type 'user.InfoUser' "
    public void setNome(String nameValue){name=nameValue;}
    public String getName(){ return name; }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329
    Grazie mille...pensavo andasse a modificare direttamente le variabili (anche se private)...ma come mai se il nome del metodo è "setNome" devo scrivere nel tag "nome" e non "Nome"?

    Grazie cmq.
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Donovant
    pensavo andasse a modificare direttamente le variabili (anche se private)...ma come mai se il nome del metodo è "setNome" devo scrivere nel tag "nome" e non "Nome"?
    Secondo le specifiche JavaBean, c'è una "convenzione" sui nomi. Se una proprietà è "nome" (n minuscola) ci dovrebbero essere getNome() e/o setNome() (N maiuscola). Se la proprietà è un boolean, è possibile isXxx invece di getXxx

    Semplicemente è stata stabilita questa convenzione.
    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.