tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von THMD
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
261
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Matze
    Matze Matze ist offline Weltenwanderer
    Registriert seit
    Jul 2007
    Ort
    Die Welt
    Beiträge
    1.504
    Blog-Einträge
    7
    Hallo,

    keine einzige Eingabe wird bei einem Submit in mein Bean übernommen. Bin Ratlos woran das liegen könnte :

    Die JSP:
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    
    /* User Name */
        out.println("Name:");
        out.println("<BR>");
        out.println("<INPUT NAME=\"name\" value=" + vecUserData.get(0).toString() + ">");
        out.println("<BR>");
     
        /* Passwort */
        out.println("Passwort:");
        out.println("<BR>");
        out.println("<INPUT NAME=\"password\" type=\"password\">");
        out.println("<BR>");
     
        /* Notiz */
        out.println("Notiz:");
        out.println("<BR>");
        out.println("<INPUT NAME=\"notes\" value=" + vecUserData.get(1).toString() + ">");
        out.println("<BR>");
     
        /* sap_uid */
        out.println("sap_uid:");
        out.println("<BR>");
        out.println("<INPUT NAME=\"sap_uid\" value=" + vecUserData.get(2).toString() + ">");
        out.println("<BR>");
     
        /* User Lschen */
        out.println("User lschen:");
        out.println("<select name='delete' size='1'>");
        out.println("<option selected>Nein</option><option>Ja</option>'");
        out.println("</select>");
        out.println("<BR>");

    Die Bean:
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    
    public class ChangeBean{
     
        private String name = "";
        private String password = "";
        private String sap_uid = "";
        private String notes = "";
        private String delete = "";
     
     
        public void setName(String newValue){
        System.out.println("Ich SCHREIBE gerade");
        if (newValue!=null) {
            this.name = newValue;
        }
        }
     
        public String getName(){
        System.out.println("Ich LESE gerade");
        return(this.name);
        }
     
        public void setPassword(String newValue){
        System.out.println("Ich SCHREIBE gerade Password");
        if (newValue!=null) {
            this.password = newValue;
        }
        }
     
        public String getPassword(){
        System.out.println("Ich LESE gerade Password");
        return(this.password);
        }
     
        public void setSap_uid(String newValue){
        System.out.println("Ich SCHREIBE gerade Sap_uid");
        if (newValue!=null) {
            this.sap_uid = newValue;
        }
        }
     
        public String getSap_uid(){
        System.out.println("Ich LESE gerade Sap_uid");
        return(this.sap_uid);
        }
     
        public void setNotes(String newValue){
        System.out.println("Ich SCHREIBE gerade Notes");
        if (newValue!=null) {
            this.notes = newValue;
        }
        }
     
        public String getNotes(){
        System.out.println("Ich LESE gerade Notes");
        return(this.notes);
        }
     
        public void setDelete(String newValue){
        System.out.println("Ich SCHREIBE gerade delete");
        if (newValue!=null) {
            this.delete = newValue;
        }
        }
     
        public String getDelete(){
        System.out.println("Ich LESE gerade delete");
        return(this.delete);
        }
     
    }
     
    "... Jeder von uns ist Kunst... gezeichnet vom Leben" (Casper)

    "Sir?, we're sorrounded!"
    "Excellent, we can attack in any direction"

  2. #2
    THMD THMD ist offline Mitglied Gold
    Registriert seit
    Sep 2005
    Beiträge
    122
    Hallo,

    Zitat Zitat von Matze Beitrag anzeigen
    ... keine einzige Eingabe wird bei einem Submit in mein Bean übernommen. Bin Ratlos woran das liegen könnte ...
    Wo verarbeitest du denn die Parameter, die bei dem Submit übertragen werden, also wo setzt du entsprechend die Werte bei der Bean?

    Und noch ein rein subjektiver Hinweis
    Zitat Zitat von Matze Beitrag anzeigen
    Die JSP:
    Code java:
    1
    2
    3
    4
    5
    
    /* User Name */
        out.println("Name:");
        out.println("<BR>");
        out.println("<INPUT NAME=\"name\" value=" + vecUserData.get(0).toString() + ">");
        out.println("<BR>");
    Das ist echt grausam! Ich mein schon normaler Javacode in einer JSP ist unübersichtlich, aber damit dann auch noch über out.println() HTML zu erzeugen - brrrr.

    Grüße
    THMD
     
    If Java had true garbage collection, most programs would delete themselves upon execution. (Robert Sewell)

  3. #3
    Avatar von Matze
    Matze Matze ist offline Weltenwanderer
    Registriert seit
    Jul 2007
    Ort
    Die Welt
    Beiträge
    1.504
    Blog-Einträge
    7
    Zitat Zitat von THMD Beitrag anzeigen
    Wo verarbeitest du denn die Parameter, die bei dem Submit übertragen werden, also wo setzt du entsprechend die Werte bei der Bean?
    Die will ich erstmal auf einer anderen JSP anzeigen. Was meinst du mit Werte setzen? Geschieht das nicht automatisch über die getter und setter in der Bean

    Zitat Zitat von THMD Beitrag anzeigen
    Das ist echt grausam! Ich mein schon normaler Javacode in einer JSP ist unübersichtlich, aber damit dann auch noch über out.println() HTML zu erzeugen - brrrr.
    Ok, werde ich zukünftig berücksichtigen
     
    "... Jeder von uns ist Kunst... gezeichnet vom Leben" (Casper)

    "Sir?, we're sorrounded!"
    "Excellent, we can attack in any direction"

  4. #4
    THMD THMD ist offline Mitglied Gold
    Registriert seit
    Sep 2005
    Beiträge
    122
    Hallo,

    Zitat Zitat von Matze Beitrag anzeigen
    ... Was meinst du mit Werte setzen? Geschieht das nicht automatisch über die getter und setter in der Bean...
    Nö, irgendwer (Servlet, JSP, Framework etc.) muss die HTML-Parameter verarbeiten und in der Bean setzen

    Ok hier mal ein ganz einfaches Beispiel. Es treten auf eine Bean (User) und zwei JSP's (enter.jsp und display.jsp)

    User:
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    package de.test;
     
    public class User {
        String name;
        String email;
        
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getEmail() {
            return email;
        }
        public void setEmail(String email) {
            this.email = email;
        }
    }

    enter.jsp:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Enter</title>
    </head>
    <body>
        <jsp:useBean id="user" scope="session" class="de.test.User">
        </jsp:useBean>
        <jsp:setProperty name="user" property="name" value="Peter Mustermann"/>
        <jsp:setProperty name="user" property="email" value="test@west.de"/>
        
        
        <form action="display.jsp">
            <input type="text" name="inputname" value="${user.name}" /><br/>
            <input type="text" name="inputmail" value="${user.email}" /><br/>
            <input type="submit" value="Anzeigen" />
        </form>
    </body>
    </html>
    In der enter.jsp wird über jsp:useBean eine Instanz von User erzeugt (wenn noch nicht vorhanden). Diese Instanz ist unter der id "user" ansprechbar. Als nächstes werden über jsp:setProperty die beiden Felder name und email von user entsprechend vorbelegt und über die EL-Ausdrücke ${user.name} und ${user.email} in den Eingabefeldern angezeigt. Die Bean wird in den Session-Scope gelegt, damit sie über mehrere Seiten erhalten bleibt. In dem Beispiel würde auch der Request-Scope ausreichen, da ja nur ein Request auf die display.jsp erfolgt. Standardmäßig (also wenn du keinen Scope angibst) wird der Page-Scope benutzt - die Bean ist damit nur auf dieser Seite gültig und könnte auf keiner anderen mehr ausgewertet werden. Wenn du jetzt auf den Submit-Button drückst, werden die Werte der input-Felder ganz normal als Request-Parameter mitgeschickt - in dem Fall an die display.jsp. Dort müssen sie entsprechend verarbeitet werden.

    display.jsp:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
        <jsp:setProperty name="user" property="name" param="inputname"/>
        <jsp:setProperty name="user" property="email" param="inputmail"/>
        
        Name: ${user.name} <br/> 
        Mail: ${user.email} <br/>
    </body>
    </html>

    Das Verarbeiten geschieht hier über jsp:setProperty. Dabei werden der Bean, die unter der ID "user" existiert die Request-Parameter übergeben. Die Anzeige erfolgt wieder über EL-Ausdrücke. Je nachdem, was die Inputfelder für Namen haben, kann man die jsp:setProperty-Tags auch anders machen - siehe hier.

    hth
    THMD
    Matze bedankt sich. 
    If Java had true garbage collection, most programs would delete themselves upon execution. (Robert Sewell)

  5. #5
    Avatar von Matze
    Matze Matze ist offline Weltenwanderer
    Registriert seit
    Jul 2007
    Ort
    Die Welt
    Beiträge
    1.504
    Blog-Einträge
    7
    Vielen Dank, klappt jetzt.
    Wird aber bestimmt nicht meine letze Frage heute sein, ich hoffe mal, dass klappt dann genauso gut
     
    "... Jeder von uns ist Kunst... gezeichnet vom Leben" (Casper)

    "Sir?, we're sorrounded!"
    "Excellent, we can attack in any direction"

Ähnliche Themen

  1. Einstellungen werden nicht übernommen
    Von Neuk im Forum Photoshop
    Antworten: 2
    Letzter Beitrag: 09.09.11, 22:46
  2. DIV's werde nicht richtig angezeigt...
    Von mtk-flo im Forum CSS
    Antworten: 2
    Letzter Beitrag: 19.02.09, 13:58
  3. Wieso werde ich nicht bei Google gefunden
    Von pauschpage im Forum HTML & XHTML
    Antworten: 7
    Letzter Beitrag: 11.01.06, 17:13
  4. variablen werde nicht weiter gegeben
    Von LiVe im Forum PHP
    Antworten: 5
    Letzter Beitrag: 23.09.05, 04:04
  5. ich werde Issass.exe nicht los
    Von otherside im Forum Security (Viren, Trojaner, Spam)
    Antworten: 5
    Letzter Beitrag: 29.06.04, 15:29