greenY: Bean bei Buttonklick setzen

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+"'/&gt'/>");
%>

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

  1. 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.

    1. 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

      1. 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.

        1. 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

      2. 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>  
        
        
        1. 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

    2. 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

  2. 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