tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Maik639
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
749
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von the incredible Leitman
    the incredible Leitman the incredible Leitman ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    ÖSTERREICH
    Beiträge
    406
    Hallo,

    ich bin ziemlich neu in Java / JSP und diesem ganzen Thema,
    deshalb weiß ich auch leider nicht genau, wonach ich suchen soll -.-


    Jedoch habe ich mal eine kleine Webanwendung geschrieben...

    Daten aus einer DB2 Datenbank kann ich bereits laden und in einer dynamischen Tabelle Tabelle in einem .jsp file anzeigen

    Nun würde ich gerne eine Funktionalität einbauen,
    mit der ich einzelne Datensätze bearbeiten / löschen kann.

    Wie würde man so etwas gestalten?


    Zu meinem Bisherigen:
    Ich habe eine Benutzer Oberfläche (overviewUser.jsp) in der ich meine Benutzer, die ich aus der DB bekomme anzeige.

    Über einen Link kommt man auf eine neue Seite (detailUser.jsp) in der ich Daten für Benutzer eingeben kann. Diese besteht aus einer Form mit einem Submit Button.
    Über diesen rufe ich "doSaveUser.jsp" auf,
    in dem ich mit eine DB Connection baue und die request Parameter in der Datenbank eintrage.
    Wenn erfolgreich, leite ich mittels
    Code java:
    1
    
    response.sendRedirect("overviewUser.jsp");
    zurück zur Übersicht, in der dann auch gleich der neue Benutzer mit angezeigt wird

    So weit, so gut.


    Doch nun würde ich gerne die vorhandenen gespeicherten Daten editieren können,
    wie geht man da am besten vor?
    Brauche ich nun für jede Aktion ein eigenes Jsp?

    Zwar kann ich einen Link einfügen und den ebenfalls auf detailUser.jsp verlinken
    und alle meine Parameter mitgeben.
    alos iwie folgendermaßen:
    Code java:
    1
    
    <a name="entry_edit" href="detailUser.jsp?username=<%=rset.getString("USERNAME")%>&right=<%=rset.getString("RIGHT")%>&password=<%=rset.getString("PASSWORD")%>" onfocus="is_button_in_focus=true;" onblur="is_button_in_focus=false;">
    Aber dann habe ich in der Browserleiste natürlich alles stehen... Benutzername, Passwort, etc...
    das ist irgendwie doof xD

    Wie könnte ich das lösen?
     
    Meine Blogs:
    theIncredibleLeitman.blogspot.com // Tec
    Gamesdev.de // Gamedevelop

    Ein echter Programmierer hat nur natürliche 3 Feinde:
    • Sonnenlicht
    • Frischluft
    • und das unerträgliche Gebrüll der Vögel
    Ownage
    steht für die Fähigkeit einer Person, andere zu ownen, zum Beispiel „Ich habe die totale ownage.“ Gleichzeitig kann es aber auch die positive Qualität einer Sache beschreiben: „Counterstrike owns!“
    (siehe:http://de.wikipedia.org/wiki/Computerspieler-Jargon)

  2. #2
    Maik639 Maik639 ist offline Mitglied Gold
    Registriert seit
    Nov 2010
    Beiträge
    132
    Hi,

    du rufst dort ja ein GET auf, normal solltest du die HTTP-POST methode verwenden.

    Grüße Maik

    EDIT: nochmal edit: http://hc.apache.org/downloads.cgi Das ist der richtige Link zu den Apache libs. Viel Spaß damit =) damit gehts fast von alleine =D
    Geändert von Maik639 (31.05.11 um 16:41 Uhr)
     

  3. #3
    Avatar von the incredible Leitman
    the incredible Leitman the incredible Leitman ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    ÖSTERREICH
    Beiträge
    406
    Hey, danke Maik, für deine Antwort

    Sowas habe ich mir schon gedacht,
    aber vielleicht fehlt mir in diesem Thema noch etwas Grundverständnis,
    jedoch wie kann ich über einen Link die Post-Methode verwenden? o.O

    Dachte, das geht nur über den submit button einer Form?

    Danke auch für deinen Link,
    ich hab mich dort bereits gestern umgesehen,
    aber das geht eindeutig über meinen aktuellen Wissenstand -.-


    Mein Problem ist, wie gesagt,
    über den Submit Button meiner HTML Form kann ich wunderbar über Post ein neues JSP öffnen und meine hinterlegten Daten verarbeiten, keine Informationen in der Browser leiste, alles wunderbar

    Nun möche ich das Ganze aber auch über einen Link
    <a href="irgendein.jsp">Link</a>
    lösen...

    Was habe ich da für Möglichkeiten?
    Geht das nur, wenn ich die Parameter nach der Linklocation anhänge? (Dann sind sie nämlich im Browser sichtbar -.-)
    Oder wie kann ich sonst eine Weiterleitung auf eine andere Seite (oder auch auf dieselbe) nochmal machen, damit ich meine Request Parameter nicht verliere?
     
    Meine Blogs:
    theIncredibleLeitman.blogspot.com // Tec
    Gamesdev.de // Gamedevelop

    Ein echter Programmierer hat nur natürliche 3 Feinde:
    • Sonnenlicht
    • Frischluft
    • und das unerträgliche Gebrüll der Vögel
    Ownage
    steht für die Fähigkeit einer Person, andere zu ownen, zum Beispiel „Ich habe die totale ownage.“ Gleichzeitig kann es aber auch die positive Qualität einer Sache beschreiben: „Counterstrike owns!“
    (siehe:http://de.wikipedia.org/wiki/Computerspieler-Jargon)

  4. #4
    Maik639 Maik639 ist offline Mitglied Gold
    Registriert seit
    Nov 2010
    Beiträge
    132
    Hi,

    du konntest eine verlinkung so posten:

    Code :
    1
    2
    3
    
    <form name="myForm" method="post">
    <a href="./index.jsp">Index</a>
    </form>
    Das ganze lässt sich natürlich ergänzen.
    Eigentlich ist es egal ob du dort nun einen Hyperlink oder einen Button benutzt.
    Ich hoffe ich konnte dir helfen.

    Grüße Maik
     

  5. #5
    Avatar von the incredible Leitman
    the incredible Leitman the incredible Leitman ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    ÖSTERREICH
    Beiträge
    406
    hm... danke, aber ich verstehe scheinbar nicht,
    wie genau das funktioniert? o.O

    Ich dachte, der submit button, sofern definiert ruft die durch action="..." festgelegte Seite auf,
    als get oder post, je nachdem wie es in method="..." definiert ist?

    Wenn ich über einen Link, wie in deinem Beispiel index.jsp aufrufen, habe ich keine request Parameter, die ich aber benötige :-s
    Also würde ich
    Code :
    1
    
    <a href=seite.jsp?param1=foo&param2=bar&usw...>linktext</a>
    aufrufen.

    Dann werde ich zwar auf die angegebene Seite weitergeleitet, habe ich aber die besagten Parameter in der Browserleiste sichtbar
    Geändert von the incredible Leitman (01.06.11 um 13:17 Uhr)
     
    Meine Blogs:
    theIncredibleLeitman.blogspot.com // Tec
    Gamesdev.de // Gamedevelop

    Ein echter Programmierer hat nur natürliche 3 Feinde:
    • Sonnenlicht
    • Frischluft
    • und das unerträgliche Gebrüll der Vögel
    Ownage
    steht für die Fähigkeit einer Person, andere zu ownen, zum Beispiel „Ich habe die totale ownage.“ Gleichzeitig kann es aber auch die positive Qualität einer Sache beschreiben: „Counterstrike owns!“
    (siehe:http://de.wikipedia.org/wiki/Computerspieler-Jargon)

  6. #6
    Maik639 Maik639 ist offline Mitglied Gold
    Registriert seit
    Nov 2010
    Beiträge
    132
    Nunja, du postest dort ja auch direkt die GET-Parameter mit, ein Post geschieht im hintergrund.

    Der folgende Code zeigt eine simple Post-methode:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    public void postBugreport(String exceptionContent) {
            HttpClient client;
            MultipartEntity entity;
            HttpPost post;
            try {
                client = new DefaultHttpClient();
                client.getParams().setParameter(
                        CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
                post = new HttpPost("http://api.EINESEITE.eu/report_bug.php");
                entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
                entity.addPart(
                        "text",
                        new StringBody(exceptionContent,
                                "text/html", Charset
                                        .forName("UTF-8")));
                post.setEntity(entity);
                client.execute(post).getEntity();
                client.getConnectionManager().shutdown();
            } catch (ParseException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    Der html teil sieht so aus:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    <html>
    <head>
    </head>
    <body>
    <form id="form" action="" method="post">
    <textarea name="text" cols="60" rows="10"></textarea><br/>
    <input type="Submit" name="submit" value="Absenden"><br/>
    </form>
    </body>
    </html>

    ich hoffe mit diesem codebeispiel ist dir ein stück weiter geholfen, grüße maik

    Grüße Maik
     

  7. #7
    Avatar von the incredible Leitman
    the incredible Leitman the incredible Leitman ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    ÖSTERREICH
    Beiträge
    406
    Sorry Maik,
    ich glaube, wir reden aneinander vorbei xD

    Oder ich habe zumindest überhaupt keinen Plan, wovon du sprichst >.<
    Kann aber wie gesagt auch daran liegen, dass ich keinerlei Vorwissen besitze und einen quasi Schnellkurs durchmache (habe für ein neues Projekt nur 2 Wochen Zeit und muss innerhalb dieser Vorgabe Java, HTML und JavaScript und halt eben was dynamisches wie JSP oder Servlets lernen :-s)

    Jedenfalls,
    mein Problemchen habe ich einsweilen folgendermaßen gelöst:
    An den Stellen, an denen ich bisher mit Links weitergeleitet habe
    Code :
    1
    
    <a href=seite.jsp?param1=foo&param2=bar&usw...>linktext</a>
    verwende ich nun JavaScriptfunktionen

    beim Link mache ich ein onclick event, das "false" zurückliefert und deshalb eben nicht weiterleitet,
    in der JS Function rufe ich dann einfach das submit der Form auf

    Außerdem kann man mehrere Submit Buttons pro Form verwenden, bin ich draufgekommen,
    und diese mittels JS mit unterschiedlichen Post methoden ausstatten

    Code hab ich eben keinen zurhand, aber falls es jemanden intressiert kann er mir ne pm senden,
    dann kann ich den nachliefern
    (ich überlege mir sowieso, für meinen 2Woche Schnellkurs eine Kurzübersicht auf meinem Blog zu erstellen... aber die Zeit ist ein Hund xD)


    Dann bedanke ich mich bei dir Maik,
    und mache hier mal zu

    PS: in deinem Beispiel verwendest du scheinbar ein Servlet... das wäre mein nächstes Thema,
    da ich bei dem vielen JavaCode in meinem HTML langsam den Überblick verliere und das auch nicht so gedacht ist, wie ich gelesen habe.
    Aber vorerst muss es mal funktional sein,
    Optimierungen folgen später

    Des Weiteren, wie rufst du dein postBugreport auf?
    Ich sehe im html Teil keinerlei Verlinkung?



    mfg
    the incredible Leitman
     
    Meine Blogs:
    theIncredibleLeitman.blogspot.com // Tec
    Gamesdev.de // Gamedevelop

    Ein echter Programmierer hat nur natürliche 3 Feinde:
    • Sonnenlicht
    • Frischluft
    • und das unerträgliche Gebrüll der Vögel
    Ownage
    steht für die Fähigkeit einer Person, andere zu ownen, zum Beispiel „Ich habe die totale ownage.“ Gleichzeitig kann es aber auch die positive Qualität einer Sache beschreiben: „Counterstrike owns!“
    (siehe:http://de.wikipedia.org/wiki/Computerspieler-Jargon)

  8. #8
    Maik639 Maik639 ist offline Mitglied Gold
    Registriert seit
    Nov 2010
    Beiträge
    132
    Hi,

    der codeteil der Postmethode stammt aus einer meiner desktopanwendungen,
    man kann diese auch auf einer seite aufrufen, denn die JSF-komponenten geben dir die möglichkeit,
    eine methode in einem servlet auszuführen. in dem servlet kannst du dann auf die nächste seite weiterleiten.
    Leider muss ich dir gestehen, dass ich dort leider nicht so der überflieger bin, ich kanns nur so la la...
    Ich hoffe ich konnte dir trotzdem helfen, denn ich dachte wenn ich dir antworte ist das besser als keine antwort.

    Grüße Maik
    the incredible Leitman bedankt sich. 

Ähnliche Themen

  1. verschachtelte Funktionen, schleifen, Parameterübergabe
    Von Back2toxic im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 18.01.11, 10:46
  2. Antworten: 2
    Letzter Beitrag: 04.09.07, 07:19
  3. Antworten: 7
    Letzter Beitrag: 26.04.06, 21:32
  4. Antworten: 9
    Letzter Beitrag: 10.05.05, 22:03
  5. Antworten: 10
    Letzter Beitrag: 11.02.04, 21:17

Stichworte