-
-
Save b1nary/2571688 to your computer and use it in GitHub Desktop.
JSP Homework
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | |
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |
<html xmlns="http://www.w3.org/1999/xhtml"> | |
<head> | |
<%@ page buffer="none" autoFlush="true" import="java.util.*, java.io.*" %> | |
<title>SuperGeileForm</title> | |
<style type="text/css"> | |
body { background-color:#222; font-family:Helvetica,Verdana,Tahoma; } | |
#box { background-color:white; border:2px solid #444; margin:20px auto; width:500px; padding:12px; border-radius:16px; } | |
h1 { font-family:Tahoma,Helvetica,Verdana; margin:4px 0px; padding:0px; color:#343; text-shadow:0px 0px 20px #efe, 0px 0px 10px black; } | |
input { background-color:#ccc; color:#111; font-size:110%; border:1px solid #bbb; border-radius:8px; width:416px; } | |
input[type=submit] { background-color:#aaa; width:420px; } | |
input.w10 { width:60px; } | |
input.w20 { width:117px; margin-right:5px; float:left; } | |
input.w80 { width:290px; } | |
input.w90 { width:347px; margin-right:5px; float:left; } | |
#error { border:1px solid #274818; background-color:#fee; border-radius:10px; color:black; padding:6px 8px; text-shadow:none; margin-bottom:5px; } | |
#info { border:1px solid #274818; background-color:#efe; border-radius:10px; color:black; padding:6px 8px; text-shadow:none; margin-bottom:5px; } | |
table.list { background-color:#eee; border:2px solid #444; border-radius:12px; padding:6px; margin:0px auto; } | |
.red { background-color:#fee; } | |
</style> | |
<% | |
String oldcontent = ""; | |
boolean error = false; | |
boolean info = false; | |
String msg = ""; | |
// Initialisiere das immer, wegen schlechter planung... | |
Properties form = new Properties(); | |
form.setProperty("name",""); | |
form.setProperty("vorname",""); | |
form.setProperty("strasse",""); | |
form.setProperty("plz",""); | |
form.setProperty("ort",""); | |
form.setProperty("land",""); | |
form.setProperty("hausnummer",""); | |
if(request.getParameter("sent") != null){ | |
/* | |
** Error Handling | |
*/ | |
if (request.getParameter("error") != null) { | |
error = true; | |
msg = request.getParameter("error"); | |
} | |
if (request.getParameter("info") != null) { | |
info = true; | |
msg = request.getParameter("info"); | |
} | |
/* | |
** Form Parsing | |
*/ | |
if (request.getParameter("name") == "") { | |
error = true; | |
msg = msg + "Kein Name angegeben!<br>"; | |
form.setProperty("name","error"); | |
} else { | |
form.setProperty("name",request.getParameter("name")); | |
} | |
if (request.getParameter("vorname") == "") { | |
error = true; | |
msg = msg + "Kein Vorname angegeben!<br>"; | |
form.setProperty("vorname","error"); | |
} else { | |
form.setProperty("vorname",request.getParameter("name")); | |
} | |
if (request.getParameter("strasse") == "") { | |
error = true; | |
msg = msg + "Keine Strasse angegeben!<br>"; | |
form.setProperty("strasse","error"); | |
} else { | |
form.setProperty("strasse",request.getParameter("strasse")); | |
} | |
if (request.getParameter("hausnummer") == "") { | |
error = true; | |
msg = msg + "Keine Hausnummer angegeben!<br>"; | |
form.setProperty("hausnummer","error"); | |
} else { | |
String num = request.getParameter("hausnummer"); | |
// Prüfe ob nummer | |
try { | |
Integer.parseInt( num ); | |
form.setProperty("hausnummer",num); | |
} catch( Exception e){ | |
error = true; | |
msg = msg + "Hausnummer ist keine Zahl!<br>"; | |
form.setProperty("hausnummer","error"); | |
} | |
} | |
if (request.getParameter("land") == "") { | |
error = true; | |
msg = msg + "Kein Land angegeben!<br>"; | |
form.setProperty("land","error"); | |
} else { | |
form.setProperty("land",request.getParameter("land")); | |
} | |
if (request.getParameter("plz") == "") { | |
error = true; | |
msg = msg + "Keine PLZ angegeben!<br>"; | |
form.setProperty("plz","error"); | |
} else { | |
form.setProperty("plz",request.getParameter("plz")); | |
} | |
if (request.getParameter("ort") == "") { | |
error = true; | |
msg = msg + "Kein Ort angegeben!<br>"; | |
form.setProperty("ort","error"); | |
} else { | |
form.setProperty("ort",request.getParameter("ort")); | |
} | |
if (!error){ | |
try { | |
// Erstelle datei falls unexistent | |
File file = new File("adresses.txt"); | |
boolean success = file.createNewFile(); | |
// Datei lesen | |
BufferedReader in = new BufferedReader(new FileReader("adresses.txt")); | |
String str; | |
while ((str = in.readLine()) != null) { | |
oldcontent = oldcontent+str; | |
} | |
in.close(); | |
// Neue zeile erstellen | |
String xout = form.getProperty("name") + "::" | |
+ form.getProperty("vorname") + "::" | |
+ form.getProperty("strasse") + "::" | |
+ form.getProperty("hausnummer") + "::" | |
+ form.getProperty("land") + "::" | |
+ form.getProperty("plz") + "::" | |
+ form.getProperty("ort"); | |
FileWriter fstream = new FileWriter("adresses.txt"); | |
BufferedWriter cout = new BufferedWriter(fstream); | |
oldcontent = oldcontent+";;"+xout; | |
cout.write(oldcontent); | |
cout.close(); | |
} catch (Exception e) { | |
error = true; | |
msg = e.getMessage(); | |
} | |
} | |
} | |
// Generell Datei nochmal lesen Lese Datei | |
BufferedReader in = new BufferedReader(new FileReader("adresses.txt")); | |
String str; | |
while ((str = in.readLine()) != null) { | |
oldcontent = oldcontent+str; | |
} | |
in.close(); | |
%> | |
<script type="text/javascript"> | |
function color_wrong_elements(){ | |
<% | |
if(request.getParameter("sent") != null){ | |
String key; | |
String value; | |
for (Enumeration e = form.keys();e.hasMoreElements();) { | |
key = (String) e.nextElement(); | |
value = (String) form.get(key); | |
if(value.equals("error")){ | |
// Keine Ahnung was hier falsch geht, es ist 23:43 ich gebe offiziell auf | |
out.print("document.getElementsById('"+key+"').className += ' red'; alert(document.getElementsById('"+key+"').className)\n"); | |
} | |
} | |
} | |
%> | |
} | |
</script> | |
</head> | |
<body onload="color_wrong_elements()"> | |
<div id="box"> | |
<h1>Form? Form!</h1> | |
<% if(info) { %> | |
<div id="info"><%= msg %></div> | |
<% } %> | |
<% if(error) { %> | |
<div id="error"><%= msg %></div> | |
<% } %> | |
<table border="0"> | |
<form action="./form.jsp" method="GET"><!-- HIER GEG. NAME ANPASSEN --> | |
<input type="hidden" name="sent" value="true"> | |
<tr> | |
<td>Name</td> | |
<td> | |
<input type="text" name="name" id="name"> | |
</td> | |
</tr> | |
<tr> | |
<td>Vorname</td> | |
<td> | |
<input type="text" name="vorname" id="vorname"> | |
</td> | |
</tr> | |
<tr> | |
<td>Strasse</td> | |
<td> | |
<input type="text" name="strasse" class="w90" id="strasse"> | |
<input type="text" name="hausnummer" class="w10" id="hausnummer"> | |
</td> | |
</tr> | |
<tr> | |
<td>Land</td> | |
<td> | |
<input type="text" name="land" id="land"> | |
</td> | |
</tr> | |
<tr> | |
<td>Plz/Ort</td> | |
<td> | |
<input type="text" class="w20" name="plz" id="plz"> | |
<input class="w80" type="text" name="ort" id="ort"> | |
</td> | |
</tr> | |
<tr> | |
<td></td> | |
<td><input type="submit" value="Speichern"></td> | |
</tr> | |
</form> | |
</table> | |
</div> | |
<table border="0" class="list"> | |
<tr> | |
<th>Name</th> | |
<th>Vorname</th> | |
<th>Strasse</th> | |
<th>Nr.</th> | |
<th>Land</th> | |
<th>PLZ</th> | |
<th>Ort</th> | |
</tr> | |
<% | |
// List entrys | |
String[] lines = oldcontent.split(";;"); | |
String[] entry; | |
for(String item: lines) { | |
if(item != ""){ | |
entry = item.split("::"); | |
out.print("<tr>\n"); | |
try { | |
for(String col: entry){ | |
out.print(" <td>"+col+"</td>\n"); | |
} | |
} catch (Exception e){ | |
} | |
out.print("</tr>\n"); | |
} | |
} | |
%> | |
</table> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment