Wie Variablenuebergabe: Java an JavaScript

  • Hallo,


    Ich habe auf einer Website ein Formular, die Eingaben schicke ich mit JavaScript an eine Java-Funktion. Dort werden Sie veraendert und sollen an JavaScript zurueckgegeben werden.


    Meine Frage ist eben, wie kann ich mit JavaScript auf Java zugreifen?


    Ich habe mir ueberlegt, alle Variablen in Java in einen Stack zu speichern und diesen an mein JavaScript-Programm zu uebergebn und dort den Stack auszulesen.


    Nur wie mache ich das? Vielen Dank!

    r=3,16 km


    prepaidinfo.de Prepaidtarife, Roamingpreise, Preise und Einstellungen für MMS und WAP, Übernahmeformulare

  • Java-Funktion? Dafür hätte Dich mein PI-Prof. wohl schon gesteinigt: Du meinst vermutlich eine Methode... ;)


    Was ich mich aber trotzdem Frage: Was genau ist das Problem? Wo läuft Java? Im Server (Webservice/Servlet/JSP/EJB) oder auf dem Client (Anwendung/Applet)? Warum erledigst du nicht entweder die Berechnung in JavaScript oder machst die Eingabefelder auch in Java?


    Gruß,


    Henning.

    ________________________

  • hi,


    Ja klar, Methode (Java-Kurs hab ich vor 5 Semestern gehabt ;) )


    Java laeuft als Applet,
    die Berechnung wollte ich in Java machen, weil ich mich mit Java besser auskenn und das Programm zur Berechnung schonmal in Java programmiert hab.
    Die Eingabefelder kann ich ja ganz leicht in HTML mit dem Form-Tag einfuegen, das erschien mir einfacher als mit Java.



    Aber ich hab grad vorhin den Fehler gefunden, hab vergessen den Stack als public zu definieren, deswegen erkannte JavaScript die Variable nicht! :gpaul:

    r=3,16 km


    prepaidinfo.de Prepaidtarife, Roamingpreise, Preise und Einstellungen für MMS und WAP, Übernahmeformulare

  • Schlaumeier-Antwort: im Prinzip (!) gibt es auch in Java Funktionen.
    Natürlich ist jede "Funktion" Methode, da keine Funktionen außerhalb von Klassen existieren. Aber jede public static Methode einer Klasse (nicht eines Objekts), die einen nichttrivialen Rückgabewert liefert, könnte man informationstheoretisch auch als Funktion bezeichnen, da sie ja nicht das Verhalten eines Objekts, sondern einer Klasse widerspiegelt.


    Mich hätte übrigens auch eine ausführlichere Antwort zu dem Problem interessiert - Deine eigene Antwort hilft vermutlich nicht vielen Usern, die ein ähnliches Problem hatten. Kann man auf jeden Member des Applets zugreifen, wenn er public ist ? Reicht es, in JS sich die Applets aus der applets['appletname']-Collection eines windows/documents zu besorgen und hat man dann sofort Zugriff auf ebendiese Methoden ?

  • Zitat

    Original geschrieben von stadolf
    Schlaumeier-Antwort: im Prinzip (!) gibt es auch in Java Funktionen.
    Natürlich ist jede "Funktion" Methode, da keine Funktionen außerhalb von Klassen existieren.

    Wieso wußte ich, daß das jemand schreiben würde? :D

    Zitat

    Original geschrieben von stadolf
    Aber jede public static Methode einer Klasse (nicht eines Objekts),

    Täusche ich mich, oder ist die Klammer gerade überflüssig, bzw. sogar falsch -- public static Methoden funktionieren genauso gut auf jedem Objekt einer Klasse...

    Zitat

    Original geschrieben von stadolf
    die einen nichttrivialen Rückgabewert liefert, könnte man informationstheoretisch auch als Funktion bezeichnen, da sie ja nicht das Verhalten eines Objekts, sondern einer Klasse widerspiegelt.

    ...und genau deswegen heißen die Dinger nunmal "Klassenmethoden" und nicht Funktionen. Aber ich hab ja auch nicht geschrieben, daß ich jemanden steinigen will, sondern daß man bei uns an der Uni gesteinigt wird, wenn man das böse F-Wort für Methoden benutzt... Ich selbst sag' das genauso oft falsch (das kommt davon, wenn man über JavaScript in Java eingestiegen ist) und beiß' mir dann auf die Zunge...


    Aber mal BTT: Die endgültige Lösung interessiert mich dann auch!


    Gruß,


    Henning.

    ________________________

  • So hab ichs jetzt gemacht,



    Zuerst mal das Java-Applet einbinden:

    Code
    <applet name="myApplet" ...></applet>


    Mit JavaScript kann man auf jeden Member des Applets zugreifen, der als public definiert ist.


    Also Variablenübergabe an das Java-Applet von JavaScript aus:

    Code
    document.myApplet.irgendeineMethode(p1,p2,...)


    Um dann Variablen von Java zu holen:

    Code
    v1=document.myApplet.irgendeineMethode()


    Man kann auch direkt auf Klassenvariablen der von Applet abgeleiteten Klasse zugreifen oder sie überschreiben.

    r=3,16 km


    prepaidinfo.de Prepaidtarife, Roamingpreise, Preise und Einstellungen für MMS und WAP, Übernahmeformulare

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!