Announcement

Collapse
No announcement yet.

2 Formulare auf einer JSP Seite

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • 2 Formulare auf einer JSP Seite

    Hallo Zusammen,

    ich habe 2 Formulare auf einer jsp seite. Mit dem einen lasse ich mir ein paar Datensätze aus einer lokalen DB holen und mit dem anderen Daten aus einer externen DB anzeigen. Das Problem liegt daran, dass ich die beiden Ergebnisse von den beiden Formulare niemals gleichzeitig auf der Seite bekommen kann. D.h wenn ich auf sumbit vom ersten Form ancklicke bekomme ich zwar das Ergebnis zu sehen, aber sobald ich auf den zweiten submit dran gehe, verschwindet damit das alte Ergebnis und wird mit dem zweiten ersetzt.

    Ich hoffe, dass einer von den Experten mir helfen könnte.

    Vg,
    fartos

  • #2
    Sicherlich, weil du mit einem Submit ein Request auslöst und die ganze Seite wird neu dargestellt.

    Du musst dir die Ergebnisse merken und beim rendern der Seite anzeigen. Wird ein Submit ausgelöst werden die gemerkten Ergebnisse ersetzt

    ...oder AJAX benutzen....
    Christian

    Comment


    • #3
      Danke Christian für die Antwort.

      könntest du vielleicht ein bisschen konkretisieren und mir auf die Sprünge helfen?

      Comment


      • #4
        Ich weiss jetzt nicht was ich konkretisieren könnte?

        Daten merkt man sich in einer Session

        Beispielsweise wird in der HTML-Seite der Name ausgegeben, in dem in den Daten der Session geschaut wird, ob dieser vorhanden ist, wenn nein, wird nichts angezeigt...

        Bei einem Submit wird der Name aus einem Eingabefeld gelesen und in der Session gespeichert, da steht er dann für die Anzeige zur Verfügung

        Hinsichtlich AJAX was nun einen asynchronen Request ermöglicht ist Javascript einzusetzen -> siehe Beschreibung Wikipedia
        Christian

        Comment


        • #5
          super du hast mir echt viel geholfen. Das ist genau was ich brauche.

          mfg,
          fartos

          Comment


          • #6
            ]@Christian, ich hab es versucht, wie du es mir geschrieben hast, mittels Session das ganze zu lösen, aber bis jetzt leider noch keinen Erfolg. Ich poste gerade mein code
            Code:
             <form method="post"  action="site.jsp">
            <span class="formspan">Db-Treiber </span>  <input size=35 type="text"  value=""  name="prmDbDrv" required ><br>
            <span class="formspan">Db-URL</span>       <input size=35 type="text"  value=""    name="prmDbUrl" required ><br>
            <span class="formspan">Benutzer</span>     <input size=35 type="text"   value=""   name="prmUsr" required ><br>
            <span class="formspan">Kennwort  </span>   <input size=35 type="password" value="" name="prmPwd" ><br>
            <span class="formspan">Tabellenname</span> <input size=35 type="text"    value=""  name="prmTab" required ><br>
            <input type="hidden" name="SESSID" value="<%=session.getId() %>">
            		<input type="submit" name="submitform" value="Schema Source">
            </form>
            
            <jsp:useBean id="proxyClient" scope="session" class="formpackage.MeineBean" />
            <jsp:setProperty name="proxyClient" property="*"/>
            
            <%    session.setAttribute( "DbDrv", request.getParameter( "prmDbDrv" ) );
                  session.setAttribute( "DbUrl", request.getParameter( "prmDbUrl" ) );
                  session.setAttribute( "Usr",   request.getParameter( "prmUsr" ) );
                  session.setAttribute( "Pwd", 	 request.getParameter( "prmPwd" ) );
                  session.setAttribute( "Tab",   request.getParameter( "prmTab" ) );
                  session.setAttribute( "submit",   request.getParameter( "submitform" ) );
            
            %>
             <%
            	  String sDbDrv = (String)session.getAttribute( "DbDrv" );
            	  String sDbUrl = (String)session.getAttribute( "DbUrl" );
            	  String sUsr   = (String)session.getAttribute( "Usr" );
            	  String sPwd   = (String)session.getAttribute( "Pwd" );
            	  String sTable = (String)session.getAttribute( "Tab" );
            	  String submitform =(String)session.getAttribute( "submit" );
            	
            	  
            if(submitform!=null && submitform.length()>0)
            { ...........}
            jetzt auf der selben Seite das zweite Form
            Code:
             <form method="post"  action="site.jsp">
            				<span class="formspan">Web Servie zur Daten Synchronisierung </span> <br>
            				<span class="formspan">Bitte Web Service Operation auswählen </span>
            				
            			     <select name="WSoperation" size="1">
            		             <option value="getschema">GetschemaDB</option>
            		             <option value="insertdata">Insert Dada into table</option>
            		             <option value="deletdata">Delete Data form table</option>
                            </select>
                            <input type="hidden" name="SESSID" value="<%=session.getId() %>">
                            <input type="submit" name="submit" value="submit">
            		  </form>	
            String submit = request.getParameter( "submit" );
            String value = request.getParameter("WSoperation");
            
            if(submit!=null && submit.length()>0)
            {.........}
            Vielleicht siehst du was ich nicht sehen konnte.

            Comment


            • #7
              Die Values der Eingabefelder/Dropdowns müssen mit den Werten aus der Session versorgt werden, sonst zeigen sie wohl nie was an.

              Und das ist kein PHP-Gefrickel.
              Rufe über die Form ein Servlet auf, welches die Verarbeitung der Eingaben vornimmt. Java sollte in einer JSP nichts mehr zu suchen haben. Das war mal.

              Reihenfolge:
              JSP zeigt Felder mit dem Inhalt der Session an
              Beim Submit Aufruf eines Servlets, welches die Eingaben aus den Feldern prüft und in die Session schreibt. Das Servlet macht dann wieder ein redirect auf die JSP. Die zeigt die Inhalte an.
              Wenn du das mit beiden Submit machst, siehst du immer die aktuellen Werte

              Submit 1 ruft Servlet 1 auf
              Submit 2 ruft Servlet 2 auf
              Beide redirecten auf die JSP
              Zuletzt editiert von Christian Marquardt; 12.10.2011, 18:23.
              Christian

              Comment


              • #8
                @Christian besten Dank . Das wird ich mal gleich testen.
                fartos

                Comment


                • #9
                  @Christian, vielen Dank. Es hat funktioniert(2 Forms auf JSP Seite) genau wie du es
                  vorgeschlagen hast nur habe ich kein Servlet benutz, sondern blieb ich treu zu JSP.

                  Vg,
                  Fartos

                  Comment

                  Working...
                  X