# Select Auswahl



## luker (10. Feb 2009)

Hallo zusammen

Ich hoffe ich bin hier richtig mit meinem Problem. Ich möchte gerne mithilfe von Select Auswahl einen Filter für mein Ergebnis erstellen. Das ganze ist auf Java geschrieben. Es soll wie folgt funktionieren, wenn man in der ersten Select box etwas auswählt soll automatisch eine Java Methode aufgerufen werden die, die entsprechenden dazugehörigen Elemente mittels SQL aus der Datenbank ausliest. Mein eigentliches Problem ist nun, wie kann ich per Ajax festlegen, wenn etwas inder select box verändert wird, dass dann die Java Methode aufgerufen wird und wie wird diese aufgerufen.

Danke für eure Hilfe

Gruss
luker


----------



## luker (13. Feb 2009)

Kennt niemand für dieses Problem eine Lösung


----------



## SlaterB (13. Feb 2009)

bei 5 Ajax-Fragen pro Monat kannst du hier keine Experten-Mengen erwarten,
gibts denn kein spezielles Ajax-Forum?


----------



## luker (13. Feb 2009)

Naja gibt es schon nur leider Arbeiten, dort alle nur mit PHP. Java ist dort noch seltener als hier AJAX


----------



## SlaterB (13. Feb 2009)

nur noch eins, dann nerve ich nicht mehr,
den Satz
"Mein eigentliches Problem ist nun, wie kann ich per Ajax festlegen, wenn etwas inder select box verändert wird, 
dass dann die Java Methode aufgerufen wird und wie wird diese aufgerufen. "

könnte man nicht umdrehen in

"Mein eigentliches Problem ist nun, wie kann ich per Ajax festlegen, wenn etwas inder select box verändert wird, 
dass dann die PHP Methode aufgerufen wird und wie wird diese aufgerufen. "
?

Ajax ist doch beim Client programmiersprachen-unabhängig, wenn ich mich recht erinnere,
es wird nur ein Request an den Server gesendet, 
wie der dort verarbeitet wird ist doch eine separate Geschichte


----------



## luker (13. Feb 2009)

ich kann leider nicht in einem bestehenden JAVA CMS PHP einführen. Das Problem ist ja, dass ich eine Java Class datei nicht direkt über eine Browser adresse aufrufen kann. Das ganze ist recht kompliziert aufgebaut. Und ich kann die SQL Abfrage auch nur über eine Java Class machen, da ein spezieller Converter benötigt wird. Die DB ist objektorientiert aufgebaut

P.S.
Du nervst doch nicht, bin über jeden Input froh


----------



## Guest (13. Feb 2009)

luker hat gesagt.:
			
		

> Mein eigentliches Problem ist nun, wie kann ich per Ajax festlegen, wenn etwas inder select box verändert wird, dass dann die Java Methode aufgerufen wird und wie wird diese aufgerufen.



Das sich etwas in der select-box ändert bekommst du mit wenn du einen onChange-Handler angibst


```
<select onChange="auswahlErfolgt()">
<option>bla</option>
</select>
```

Die Methode auswahlErolgt() musst du dann selbst schreiben und in dieser einen Request an den Server absenden, z.B. mit dem XMLHttpRequest-Objekt.

http://de.wikipedia.org/wiki/XMLHttpRequest


----------



## HLX (13. Feb 2009)

Bei AJAX in Verbindung mit Java lohnt sich ein Blick auf GWT. Hier kannst du Java programmieren und anschließend in Javascript übersetzen lassen. Kommunikation mit dem Server erfolgt über XmlHttpRequest.

code.google.com/intl/de/webtoolkit/


----------



## luker (13. Feb 2009)

kann ich leider nicht verwenden, da die SQL Abfragen nur in einer JAVA Class möglich sind, da nur dort der Converter zur Verfügung steht.


----------



## HLX (13. Feb 2009)

Könntest du nicht mittels GWT deine Java-Klasse bzw. dein Java-Objekt ansteuern?

Du würdest es für die Client-Seite und für den serverseitigen Empfang der Daten verwenden und von dort aus die bestehende Operation ausführen.


----------



## luker (13. Feb 2009)

Das wäre eine Möglichkeit. Werde mir mal GWT anschauen. Hab noch nie damit gearbeitet


----------



## JohannisderKaeufer (10. Apr 2009)

Ok, mal ganz ohne Frameworks, Plain Old Ajax.

Der Browser macht per JavaScript einen Ajax-Request.(Das sollte recht gut dokumentiert sein, wie das funktioniert :rtfm

Serverseitig (ist ja anscheinend Java) nimmt ein Servlet den Request entgegen.
(Gut wie man serlets baut wird auch irgendwo stehen :rtfm

Das Servlet ruft mit den im Request enthaltenen Parametern deine Javaklasse auf und bekommt ein Ergebnis zurück. 
(Wenn man weis was ein Servlet ist, sollte das auch kein Problem mehr darstellen :rtfm

Dieses Ergebnis bereitest du dann mit dem Servlet auf und schickst es als Antwort raus.
(wenn man 2 und 3 zusammenzählen kann wird das auch funktionieren :rtfm

Der Browser nimmt den Ajax-Response entgegen und baut das in die bestehende Seite ein.(Wunderbar, das wird wohl nicht weit entfernt von wie funktioniert Ajax zu finden sein :rtfm


----------

