Bean bei Buttonklick setzen
greenY
- java
Hey,
Wie der Threadtitel schon sagt würde ich ich gerne per Buttonklick ein Bean setzen. Leider funktioniert dies nicht und finde auch über Google keine passenden Themen bezüglich dieses Problemes.
Hier ein kleiner Code-Ausschnitt um das ganze ein bisschen zu verdeutlichen:
<%
int id = rs.getInt(ID);
out.println("<TD><INPUT type='button' value='Freigabe' onclick='<jsp:setProperty name='DbBean' property='id' value='"+id+"'/>'/>");
%>
Die Variable id bezieht den Wert aus einer Datenbank, was auch tadellos funktioniert. Ich habe es auch testweise ohne dieser Variable versucht, sprich ich habe den value vom button fix vergeben, leider ohne Erfolg.
Vielleicht hat jemand Ideen wie ich das lösen könnte oder kann mir sagen ob dies überhaupt möglich ist.
Danke im Vorraus.
Lg,
greenY
Hi!
Also 1. muss es heißen:
<INPUT type="button" usw.
2.
Mit onclick musst du irgendetwas aufrufen.
Z.B. könntest du eine JavaScript Funktion aufrufen, die dann "<jsp:setProperty..." ausgibt. Aber dieser Tag ansich kann ja nichts empfangen.
Hey,
Leider kann ich das nicht in eine JS-Funktion packen, dar ich die Variable id benötige, welche im <% Tag definiert wird. Somit kann ich diese nicht übergeben.
Lg,
greenY
Hey,
Leider kann ich das nicht in eine JS-Funktion packen, dar ich die Variable id benötige, welche im <% Tag definiert wird. Somit kann ich diese nicht übergeben.
Lg,
greenY
Versteh ich nicht.
JavScript Funktion:
function myJavaScript(value) {
...
}
Aufruf:
myJavaScript(<%= rs.getInt(ID) %>);
Nicht schön aber funktioniert.
Versteh ich nicht.
JavScript Funktion:
function myJavaScript(value) {
...
}Aufruf:
myJavaScript(<%= rs.getInt(ID) %>);Nicht schön aber funktioniert.
Hi,
Auf die Idee bin ich nicht einmal gekommen grml..
Klappt auf jeden Fall.
Danke für Eure Hilfe
Lg
greenY
So in der Art müsste es gehen. (Keine Gewähr, hab das so runter geschrieben)
<SCRIPT language=JavaScript>
function setPara(id){
var form = document.getElementById('bla');
form.id.value=id;
}
</SCRIPT>
<form styleID="bla" action="..">
<input type="hidden" property="id"/>
<input type="button" value="Freigegeben" onclick="setPara(${id})"/>
</form>
Hallo,
So in der Art müsste es gehen. (Keine Gewähr, hab das so runter geschrieben)
Gut, dass du das schreibst. Habe selten so falschen Code gesehen.
Gruß
Slyh
Hallo,
Also 1. muss es heißen:
<INPUT type="button" usw.
Nein.
Mit onclick musst du irgendetwas aufrufen.
Nein.
Z.B. könntest du eine JavaScript Funktion aufrufen, die dann "<jsp:setProperty..." ausgibt. Aber dieser Tag ansich kann ja nichts empfangen.
Dunkel sind deiner Worte Sinn.
Gruß
Slyh
Hallo,
bitte mache dir klar, welcher Teil des Codes auf der Server-Seite (z.B. Tomcat)
und welcher auf der Client-Seite (Browser) ausgeführt wird.
Alles, was innerhalb der <% ... %> steht, wird im Server ausgeführt. Allerhöchstens
die Ausgaben davon landen beim Client. Im Client wird nichts wie jsp:setProperty
oder ähnliches ausgeführt. Das ist JSP-Code für die Server-Seite.
Schau dir mal den Seitenquelltext des Beispiels oben im Browser an. Du wirst
feststellen, dass jsp:setProperty im HTML-Code enthalten ist. Das ist aber
kein z.B. JavaScript, mit dem der Browser etwas anfangen könnte.
Ich schlage dir vor, dich nochmal mit den Grundlagen der serverseitigen
Programmierung zu befassen. Mache dir immer klar, welcher Teil auf der Server-
seite ausgeführt wird und welche Teile davon im Browser landen und dort ggf.
zur Ausführung kommen. (Tipp: Alles, was irgendwie mit JSP zu tun hat, ist
nicht die Client-Seite.)
Gruß
Slyh