Announcement

Collapse
No announcement yet.

Checkboxvalue in Session speichern?

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

  • Checkboxvalue in Session speichern?

    Hallo Leute,

    ich erzeuge ein dynamisches Checkbox-Formular anhand der Anzahl der DB-Tabellen. D.h. ich baue zuerst nur ein Input-Fled in dieser Form :
    <input typ="checkbob" value="<%= DB-Tab%> name="id">" und mittels einer for-Schleife werden die Input-Felder dynamische generiert so viel wie der DB-Tabelle.

    Die Frage lautet jetzt , wie kann die checkbox-value in einer Session-variable setzen,
    sodass der Auswahl des Users "checked" bleibt und nicht wieder gleich verschwindet nach ein reload der Seite.

    Vielen Dank im voraus,
    Fartos

  • #2
    Name des Input und Zustand der Checkbox

    request.setAttribute("id","true/false");


    auslesen:
    if(request.getAttribute("id").equalsIngnoreCase("t rue"))
    {
    <input typ="checkbob" value="<%= DB-Tab%> name="id" checked=checked />"
    }
    else
    {
    <input typ="checkbob" value="<%= DB-Tab%> name="id"/>"
    }
    Zuletzt editiert von Christian Marquardt; 30.11.2011, 09:26.
    Christian

    Comment


    • #3
      Danke Christian für deine Antwort.

      Es hat leider mit deinem Vorschlag nicht geklappt. Das liegt wahrscheinlich daran, wie ich
      deinen Code in meinem implementiert habe. Zur Struktur des Projektes:

      Ich hab 2 JSP-Seiten. A- index.jsp und B- handelSession.jsp.
      Auf A sind 2 Forms. Ein Select-Form und ein Checkbox-Form, das dynamisch generiert wird, wie ich schon im letzten Beitrag beschrieben habe. Auf B werden die Selectvalue in Session gespeichert und auf A abgefragt natürlich nach einem <response.sendRedirect("index.jsp")>. Soweit so gut. Das alte Spiel kennst du mittlerweile schon un zwar: Die checked Boxes werden deaktiviert nach einem Submit des Select-Forms(A--->B und Zrück) . Um zu vermeiden, dass das Ergebnis von den checked boxes(Anzeigen der DB-Tabellen die checked wurden auf A) wieder verschindet,
      muss das Checkbox-Form auch auf B gehandelt werden. Wie macht man das mit einem dynamisch erzeugten Checkbox-Form? Wo soll ich dein Code implementieren, auf A oder B?
      Bei mir habe ich es so versucht:

      index.jsp
      HTML Code:
      Select-Form
      
      <form method="post"  action="businessLogic.jsp">
      <select name="WSoperation" size="1">
      <option value="getschema"<%= "getschema".equals("value") ? ("selected='selected'") : "" %>>GetschemaDB</option>
      <option value="insertdata"<%= "insertdata".equals("value") ? ("selected='selected'") : "" %>>Insert Dada into table</option>
      <option value="deletdata"<%= "deletdata".equals("value") ? ("selected='selected'") : "" %>>Delete Data form table</option>
      </select><br/><br/>
      <input type="submit" name="submit" value="submit">
      </form>	
      
      Dynamisches Checkbox-Form
      
      request.setAttribute("id","true");
      for(int s=0; s<dbTable.length; s++){
      			    	
      Tab=dbTable[s];
      if(request.getAttribute("id").equals("true"))
      { 
      %>
      <input type="checkbox" name="id" value="<%=Tab%>" checked=checked><%=Tab%><br/>
      <%}
      else{ %>
       <input type="checkbox" name="id" value="<%=Tab%>" ><%=Tab%><br/>   
      <%}}}
      
      %>
      
      <input type="submit" value="getSchemaTable" name="submitTable">
      
      </form>

      handelSession.jsp

      HTML Code:
      //Handel Select values
      
      String submit = request.getParameter( "submit" );
      	
      	if(submit!=null && submit.length()>0)
      	{
      		
      		session.setAttribute( "value", request.getParameter( "WSoperation" ) );
      		
      	}

      Comment


      • #4
        if(request.getAttribute("id").equals("true"))

        Du hast nur 1 Checkbox? Wenn nein ist natürlich für jede Checkbox mit ihrer ID
        die Daten in die Session zu legen
        Christian

        Comment

        Working...
        X