PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Parameter an Servlet


AtTheDriveIn
2008-12-13, 15:17:43
Hi

Ich habe ein kleines problem damit, Parameter an ein Servlet zu übergeben.

folgender HTML Code

<FORM action="servlet/mvservlet" method="post">
<INPUT type="submit" value="show all" name="show all">
</form>


Servlet:

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
System.out.println("->:"+request.getParameter("name"));
}


liefert nicht "show all" sondern NULL.


Hat jemand einen Tipp woran das liegen könnte?

Hardwaretoaster
2008-12-13, 15:51:18
Servlets 'ne weile nicht gemacht, aber spontan:
Du willst den Wert des Paramteres mit Namen "name" übergibst aber einen mit Namen "show all"
Der Parameter "name" existiert so nicht.

AtTheDriveIn
2008-12-13, 16:15:58
Servlets 'ne weile nicht gemacht, aber spontan:
Du willst den Wert des Paramteres mit Namen "name" übergibst aber einen mit Namen "show all"
Der Parameter "name" existiert so nicht.


Ist name nicht nur die Bezeichnung des Parameters von dem ich den Wert(=show all) will?

The_Invisible
2008-12-13, 16:28:40
Ist name nicht nur die Bezeichnung des Parameters von dem ich den Wert(=show all) will?

und wenns mehrere parameter gibt?

name definiert eigentlich immer den namen mit dem du den wert (value) holen kannst.

mfg

Hardwaretoaster
2008-12-13, 16:49:10
Ist name nicht nur die Bezeichnung des Parameters von dem ich den Wert(=show all) will?

Ich würde sagen: Der Wert vom Attribut name ist die Bezeichnung (/Name des Paramters), von dem du den Wert willst
Aber probier's aus, habe dazu mom. echt selbst keine Zeit.

Sephiroth
2008-12-13, 18:10:43
Ist name nicht nur die Bezeichnung des Parameters von dem ich den Wert(=show all) will?
Nein. Mit dem name Attribut legst du den Namen und mit value den Wert des Parameters fest.

AtTheDriveIn
2008-12-13, 19:06:47
aber wieso klappt dann?

<FORM action="servlet/mvservlet?name=showall" method="post">
<INPUT type="submit" value="show all" name="show all">
</form>


Liefert beim Servlet mit

System.out.println("->:"+request.getParameter("name"))


showall


verwirrend.

Wo ist mein Denkfehler

Hardwaretoaster
2008-12-13, 19:19:09
aber wieso klappt dann?

<FORM action="servlet/mvservlet?name=showall" method="post">
<INPUT type="submit" value="show all" name="show all">
</form>


Liefert beim Servlet mit

System.out.println("->:"+request.getParameter("name"))


showall


verwirrend

Nein:
Du übergibst mit dem Pfad im Action-Attribut einen Parameter mit namen "name", der "showall" beinhaltet. Auch wenn das etwas komisch aussieht: In einem Formular wo du eigentlich POST verwenden willst quasi per GET noch zusätzliche Parameter zu übergeben.

Sephiroth
2008-12-13, 20:36:12
aber wieso klappt dann?

<FORM action="servlet/mvservlet?name=showall" method="post">
<INPUT type="submit" value="show all" name="show all">
</form>


Liefert beim Servlet mit

System.out.println("->:"+request.getParameter("name"))


showall


verwirrend.

Wo ist mein Denkfehler
Du verwendest jetzt zusätzlich die Get-Methode und übergibst einen Parameter mit dem Namen "name" und Wert "show all" via Get (als Anhängsel an der URL) und einen Parameter Namens "show all" mit Wert "show all" via Post.

Liest besser erstmal den Abschnitt Formulare bei selfhtml (http://de.selfhtml.org/html/formulare/index.htm)!

AtTheDriveIn
2008-12-13, 21:23:45
Ah jetzt hab ich verstanden. Dank euch! :)