Hallo,
warum wird mir hier die Ausgabe der Alter-Fehlermeldung trotz der If-Statment übersprungen und nur die Fehlermeldung in Try/Catch Block
ausgegeben.
Kann Jemand bitte helfen?
Danke und gruß
Messmar
%@page import="java.util.regex.*"%>
<%
String name = "";
String alter = "";
String antwort = "";
String mail = "";
String regexp = ".";
String msg = "";
int a = 0;
if (request.getParameter("submit") != null){
name = request.getParameter("tName").trim();
if (name.equals("")) {
msg = "Es wurde kein Name eingegeben.";
}else if(alter.equals("")){
alter = request.getParameter("tAlter").trim();
msg = " Bitte Alter eingeben.";
try{
a = Integer.parseInt(alter);
}
catch (NumberFormatException ex){
msg = msg + " Die Altereingabe ist fehlerhaft.";
out.println(ex.toString());
}
}else {
antwort = "Ihr Name ist " + name + ", Sie sind " + a + " Jahre alt, die eMail ist " ;
}
}
%>
<html>
<head>
<title>ex3.jsp</title>
</head>
<body bgcolor="#33CCCC">
Formularauswertung mit Überprüfung der Benutzereingaben.
<form name="form1" method="get">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="13%"><div align="right">Name: </div></td>
<td width="87%"><input name="tName" type="text" value="<%= name%>" size="35"></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><div align="right">Alter: </div></td>
<td><input name="tAlter" type="text" value="<%= alter%>" size="35"></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><div align="right">eMail: </div></td>
<td><input name="tMail" type="text" value="<%= mail%>" size="35"></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="submit" value="Abschicken"></td>
</tr>
</table>
<p><%= antwort%></p>
</form>
<p> <%= msg%></p>
</body>
</html>