Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026

    Eseguire codice bean

    Salve.
    Sto leggendo la guida che ho trovato su html riguardante la parte delle jsp.
    Ho copiato il codice del carello della spesa che c'è sotto il capitolo 24 e che riguarda un bean. Solo che non sò che tipo di file bisogna usare per contenere questo codice e se bisogna eseguirlo come una jsp.
    codice:
    //Carrello.java
    
    import java.lang.String;
    import java.lang.Integer;
    import java.lang.Float;
    import java.util.Hashtable;
    import java.util.Enumeration;
    
    public class Carrello{
    
    //variabile di tipo Hashtable utilizzata per emorizzare gli elementi
    presenti nel carrello protected Hashtable cd = new Hashtable();
    
    //varibile intera utilizzata per la memorizzazione del numero di CD
    attualmente nel carrello private int numCd;
    
    //costruttore
    public Carrello() {
    numCd=0;
    }//Carrello
    
    //metodo per ottenere il numero di CD attualmente nel carrello
    public int totCD(){
    return numCd;
    }//numCD
    
    // Inserimento di cd nel carrello
    // I: id: indice chiave di identificazione del CD
    // art: nome dell'artista
    // tit: titolo dell'album
    // prezzo: prezzo del CD
    
    public void aggiungiCd (String id, String art, String tit, float prezzo){
    
    //inserimento in un vettore di stringhe degli attributi del CD appena
    inserito nel carrello //è inserito inoltre il numero di CD di quel tipo ordinati
    String[] dati_cd= {art, tit, Float.toString(prezzo) , "1", id};
    numCd++;
    //se il CD è non già stato ordinato
    if (!cd.containsKey(id)){
    //inserisci il CD nel carrello
    cd.put(id, dati_cd);
    }//if
    //altrimenti
    else {
    //incrementa il numero di CD di quel tipo ordinati
    int tmp;
    String[] datiTemp = (String[])cd.get(id);
    tmp = Integer.parseInt(datiTemp[3]);
    tmp++;
    datiTemp[3]=Integer.toString(tmp);
    cd.put(id, datiTemp);
    }//else
    }//aggiungiCd
    
    //Metodo di rimozione dal carrello di un CD
    //I: id: indice del CD da rimuovere
    public void rimuoviCd (String id){
    //se il CD è presente nel carrello
    if (cd.containsKey(id)) {
    //decrementa il numero di CD
    numCd--;
    String[] temp = (String[])cd.get(id);
    //se il CD è presente in copia singola
    if (Integer.parseInt(temp[3]) == 1)
    //elimina il CD dal carrello
    cd.remove(id);
    //altrimenti
    else {
    //decrementa il numero di copie di quel CD ordinate
    int tmp = 0;
    String[] datiTemp = (String[])cd.get(id);
    tmp = Integer.parseInt(datiTemp[3]);
    tmp--;
    datiTemp[3]=Integer.toString(tmp);
    cd.put(id, datiTemp);
    }//else
    }//if
    }//rimuoviCd
    
    //Metodo per la creazione di un oggetto Enumeration utilizzato per scorrere
    velocemente //gli elementi nel carrello
    public Enumeration enum() {
    return cd.elements();
    }//enum
    
    //Metodo che restituisce il prezzo totale dei CD inseriti nel carrello fino
    adesso public float spesaTot(){
    float tot = 0.00f;
    String[] temp;
    //crea l'oggetto Enumeration
    Enumeration i = this.enum();
    //finchè ci sono elementi nel carrello
    while (i.hasMoreElements()){
    temp = (String[])i.nextElement();
    //incrementa la spesa totale del prezzo del CD corrente
    tot += (Float.parseFloat(temp[2]) * Integer.parseInt(temp[3]));
    }//while
    return tot;
    }//spesaTot
    
    //Metodo che restituisce il prezzo di un CD moltiplicato per il numero delle
    copie ordinate //I: id:indice del CD
    public float prezzo(String id){
    String[] temp;
    float tmp=0.0f;
    temp = (String[])cd.get(id);
    tmp = Float.parseFloat(temp[2]) * Integer.parseInt(temp[3]);
    return tmp;
    }//prezzo
    
    }//Carrello
    P.S.: come ide utilizzo eclipse e come server tomcat v7.
    Grazie per qualsiasi consiglio.

  2. #2
    Un Bean non è altro che una classe java. Quello che devi creare è un file .java

  3. #3
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Un Bean non è altro che una classe java. Quello che devi creare è un file .java
    Praticamente ho creato un progetto Dynamic Web Project poi ho inserito una classe nella directory di Java Resource -> default package -> Carrello.java
    Ma qui iniziano dei problemi , e quando avvio l'applicazione il sever mi da questa risposta:
    codice:
    An error occurred at line: 15 in the jsp file: /Carrello.jsp
    Carrello cannot be resolved to a type
    12: <BODY bgcolor="#33CCCC" text="#000099" vlink="#990099" alink="#000099">
    13: 
    14: 
    15: <jsp:useBean id="car" scope="session" class="Carrello" />
    16: 
    17: <%
    18: String id = request.getParameter("id");
    Forse devo compilare la classe Carrello.java e spostare il byte code nella directory WebContent dove risiedono le pagine jsp? O devo mettere direttamente la classe nella stessa cartella delle jsp?

  4. #4
    Da quanto ho capito usi eclipse come IDE di sviluppo, quindi si occupa lei di spostare il tuoi .class file nella web-inf-> classes directory. Cmq il tag <jsp:useBean> deve essere inserito prima del tag <html> e non nel corpo del documento. Un controllo che potresti fare e vedere se nella cartella web-inf-> classes del server (non so se stai pubblicando direttamente con le risorse del workspace o nella cartella del sever) sia presente il file Carrello.class, un'altra cosa da verificare e che non ci siano errori di compilazione all'interno del file .java; eventualmente postalo e vediamo un pò

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.