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

    [Java] Passaggio parametri applet

    Ciao ragazzi,
    secondo voi è possibile passare un array come parametro ad una applet?
    E passare una classe?

    Io ho una pagina JSP che elabora dei dati, legge da un database e crea un oggetto JTree; posso passare questo oggetto ad una applet contenuta nella pagina generata dalla mia JSP?

    Ciao e grazie in anticipo!


  2. #2
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    in un applet puoi passare parametri solo in formato stringa, per passare un oggetto quello che mi viene in mente è serializzarlo da jsp(se si può non so), passare il nome del file in cui è stato serializzato e quindi deserializzarlo dall'applet; però l'applet potrebbe dare errori di sicurezza dovendo intervenire sui file.

    Altrimenti se sai già l'interfaccia della classe passi i valori in formato stringa all'applet che poi li converte e li assegna all'oggetto.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  3. #3
    Non ho ben capito il significato di questa fresa:

    "Altrimenti se sai già l'interfaccia della classe passi i valori in formato stringa all'applet che poi li converte e li assegna all'oggetto."

    Potresi mica rispiegarmela?

    Ciao

  4. #4
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    Originariamente inviato da superpelo
    Non ho ben capito il significato di questa fresa:

    "Altrimenti se sai già l'interfaccia della classe passi i valori in formato stringa all'applet che poi li converte e li assegna all'oggetto."

    Potresi mica rispiegarmela?

    Ciao
    Praticamente, se l'applet ha nota la definizione della classe, quindi volendo potrebbe creare autonomamente un oggetto del tipo che gli dovrebbe passare la jsp, gli passi i valori a parametri che poi lui assegnerà ai suoi campi.

    Un esempio:

    codice:
    class Classe {
    int campo1;
    String campo2;
    
    Classe(int c, int c2) {
    }
    //altri metodi
    }
    a parametro passerai:

    codice:
    ...
    <param name="campo1" value="12">
    <param name="campo2" value="ciao">
    ...
    Quindi coll'applet li prendi:

    codice:
    ...
    new Classe(Integer.parseInt(getParameter("campo1")), getParameter("campo2");
    ...
    Spero di essere stato più chiaro.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  5. #5
    Vorrei serializzare la classe JTree e fare in modo che l'applet la possa leggere ma c'e' un problema:

    Tomcat pare non trovare JTree probabilmente perche' e' un componente grafico... c'e'una qualche soluzione?

  6. #6
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    Originariamente inviato da superpelo
    Vorrei serializzare la classe JTree e fare in modo che l'applet la possa leggere ma c'e' un problema:

    Tomcat pare non trovare JTree probabilmente perche' e' un componente grafico... c'e'una qualche soluzione?
    tomcat dovrebbe avare una dua cartella che fa da classpath, prendi il jar dal sdk che contiene la core standard(quindi anche JTree), dovrebbe chiamarsi rt.jar e trovarsi in JAVA_HOME/jre/lib/.

    Fatto ciò a tomcat dovrebbe essere nota la classe ma non so da dove prenda le classi.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  7. #7
    ciao mi introduco nella discussione...
    se volessi passare all'applet una stringa che consiste in un documento XML? posso fare così?
    codice:
    <param name="campo1">
     <root>
       <elem>ciao</elem>
       <elem>sono</elem>
       <elem>pippo</elem>
     </root>
    </param>
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

  8. #8
    nessuno sa?
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    puoi passargli anche il documento intero, basta che sia accessibile all'applet (normalmente tutto quello che c'è nella cartella contenente l'applet stessa e le sue sottocartelle).
    Un esempio:

    codice:
    import java.net.*;
    import java.io.*;
    import java.awt.*;
    import java.applet.*;
    
    public class readFileApplet extends Applet {
    
      public TextArea showFile;
    
      public void init() {
        try {
          InputStream in = (new URL(this.getCodeBase().toString() + "/file.txt")).openStream();
          byte[] b= new byte[in.available()];
          in.read(b);
          String s = new String(b);
          showFile = new TextArea(s, 40, 40);
          this.add(showFile);
          showFile.setVisible(true);
        }
        catch (Exception e) {System.out.println(e.toString());
        }
      }
    }
    è il codice più semplice che avessi sottomano per aprire un file (file.txt) nella stessa cartella contenente l'applet e mostrarlo in una textarea.
    Ciao
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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 © 2024 vBulletin Solutions, Inc. All rights reserved.