Hallo!
Untenstehendes jsp wird an ein Servlet weitergeleitet, das eine Formularüberprüfung durchführen soll! Sollte das Feld leer sein, soll es eine Fehlermeldung bringen und ansonsten soll der Produktname gespeichert werden. Aber irgendwie tut es weder das eine noch das andere. Was mache ich falsch?
Untenstehendes jsp wird an ein Servlet weitergeleitet, das eine Formularüberprüfung durchführen soll! Sollte das Feld leer sein, soll es eine Fehlermeldung bringen und ansonsten soll der Produktname gespeichert werden. Aber irgendwie tut es weder das eine noch das andere. Was mache ich falsch?
Code:
<%@page language="java" %>
<%@page contentType="text/html"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<link rel="stylesheet" href="Styles/stil.css" type="text/css">
<title>Produkteingabe</title>
</head>
<body>
<form name="Produkteingabeformular" action="<%= request.getContextPath() %>/ProduktServlet" method="GET">
<table>
<tr>
<td>Produktname</td>
<td><input type="text" name="Produktname" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="Eingabe" value="Eingabe" class="button" /></td>
</tr>
</table>
</form>
</body>
</html>
Code:
package Servlets;
import Daten.Produktdaten;
import java.io.IOException;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import Klassen.Produkt;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ProduktServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.getSession().removeAttribute("errors");
Map errors = new HashMap();
Produkt newProduct = null;
String name = null;
if (request.getParameter("Eingabe") != null) {
if (request.getParameter("Produktname") != null
&& request.getParameter("Produktname").length() > 0) {
name = request.getParameter("Produktname");
} else {
errors.put("name", "Produktname fehlt!");
System.out.println("Produktname fehlt!");
}
if (errors.size() > 0) {
request.getSession().setAttribute("errors", errors);
Produkt errorProduct = new Produkt();
errorProduct.setName(name);
} else {
newProduct = new Produkt();
newProduct.setName(name);
System.out.println("Neues Produkt angelegt: " + newProduct);
Produktdaten dao = new Produktdaten();
dao.speichern(newProduct);
}
}
}
}