JSP: Javacode beim Klick auf HTML-Link

Tach Kollegen.

Ich arbeite im Moment an einem Projekt für die FH. Es geht darum mit JSP/Servlets eine Webanwendung für eine fiktive Bibliothek zu erstellen. Ich habe jetzt also schon einige JSP Seiten um Medien und Kunden zu verwalten, Login, und ein Menü. Das Menü basiert auf JavaScript. Wenn ich mit der Maus über einen Menüpunkt fahre, klappt es auf und ich kann auf Unterpunkte klicken.
Jetzt kommt mein Problem:
Ich will beim Klick auf Menüpunkte Javacode ausführen. Ich habe versucht das ganz einfach mit <a href="<% javacode hier %>">Javacode Link</a> zu machen, aber das funktioniert nicht. Da der Javacode immer der selbe ist und sich nur ein Parameter ändert, hab ich mir jetzt ne kleine JavaScript Funktion geschrieben, die den Parameter übergeben bekommt und ihn dann in meinen Javacode einsetzt. Aber auch aus Javascript heraus lässt sich mein Javacode nicht ausführen.

Hier mal meine JavaScript Funktion + Link:
Code:
<script type="text/javascript">
function chooseSite(varSite) {
<% SessionHolder.getInstance().setCurrentMainPage("\""+varSite+"\"");
response.sendRedirect("Bibliothek.jsp");  %>
}
</script>


<a href="javascript:chooseSite('SearchMedium')">Medium suchen</a>

SessionHolder ist ne Javaklasse, die ordnungsgemäß eingebunden ist.

Meine Frage ist also: Wie bekomm ich es hin, dass beim Klick auf einen Link mein Code ausgeführt wird?

Vielen Dank schonmal für jede Hilfe!!
 
Hi,

ich glaube es geht mit dem onclick Attribut. Also

Code:
<a onclick=<% ... %> ...

Kann sein, dass das mit dem onclick bei nem Link nicht funktioniert, im Notfall machst halt nen kleinen div Layer rein oder so, einfach mal bisschen rumspielen.
 
Nein, weder noch.

JSP und JavaScript sind sowieso mal zwei gänzlich verschiedene Sachen. Der JSP-Code wird serverseitig ausgeführt (JSPs sind nichts anderes als Servlets) und der JavaScript-Code wird clientseitig ausgeführt. Wenn Du jetzt per Klick auf einen Link möchtest, dass ein JSP etwas tut, musst Du dieses wohl oder übel mit entsprechenden Parametern aufrufen, z.B.
Code:
<a href="index.jsp?id=andereSeite&andererParameter=123">text</a>
In der index.jsp kannst Du dann diese Parameter mit request.getParameters oder so abfragen.

Siehe hierzu auch das entsprechende Kapitel in der JavaInsel.

Alternativ könntest Du auch mit Ajax arbeiten, hierbei bin ich mir aber nicht sicher, ob das mit JSP funktioniert und von Ajax an sich hab ich eh grad keine Ahnung.

Gruß
Janus
 
Hey Danke euch beiden für die schnellen Antworten.

@Janus: Das ist ein interessanter Ansatz. Das werd ich morgen als erstes mal probieren, melde mich dann wenns geklapt hat (oder noch weitere Fragen gibt :D)

schönen Sonntag,
v:x


[edit]: Hat super geklappt mit der index.jsp, Danke!
 
Zurück
Oben