Servlet-Anfrage.getParameter() Rückgabe immer "null"
Habe ich gelesen, durch alle Fragen, die versuchen jede akzeptierte Antwort, und ich bin immer noch zu finden-ohne Erfolg.
Habe ich eine website läuft auf tomcat mit einer Unterseite /Demo/die vier Textfelder und einen Submit-button. Der submit-button sieht wie folgt aus
<form method="post" action="DemoServlet">
<input type="hidden" name="form_action" value="write" />
<table>
<tr>
<td>
First Name:
</td>
<td>
<input type="text"
name="firstname" />
</td>
</tr>
<tr>
<td>
Last Name:
</td>
<td>
<input type="text"
name="lastname" id = "lastname" />
</td>
</tr>
<tr>
<td>
Email:
</td>
<td>
<input type="text"
name="recipient" />
</td>
</tr>
<tr>
<td>
Phone1:
</td>
<td>
<input type="text"
name="phone" />
</td>
</tr>
<tr>
<td>
<input type=button onClick="location.href='../demo-servlet'" value='Submit'/>
</td>
<td>
</td>
</table>
</form>
Diese /demo-servlet ist angegeben in web.xml wie folgt
<servlet>
<servlet-name>DemoServlet</servlet-name>
<servlet-class>PACKAGENAME.DemoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DemoServlet</servlet-name>
<url-pattern>/demo-servlet</url-pattern>
</servlet-mapping>
Dieses servlet sieht wie folgt aus
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//Retrieve First Name from /Demo/text field
firstName = request.getParameter("firstname");
//Retrieve Last Name from /Demo/text field
lastName = request.getParameter("lastname");
/* MORE CODE HERE */
request.getRequestDispatcher("/WEB-INF/confirmation.jsp").forward(request, response);
}
Welche dann weiterleitet auf meine Bestätigung.jp-Datei, die zeigt, dass der Prozess erfolgreich war.
Mein problem ist, das die Variablen und beide geben den Wert "null" nach der Anfrage.getParameter () - Funktion aufgerufen wird.
Jemand eine Ahnung, warum dies passiert ist?
InformationsquelleAutor Trent | 2014-07-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Methode auf Ihre form-tag post aber Sie umgesetzt haben doGet in Ihrem servlet. Auch die action im Formular-tag ist DemoServlet aber sollte so etwas wie ../demo-servlet Sie wahrscheinlich nicht brauchen onClick überhaupt.
InformationsquelleAutor Khary Mendez