Skip to content

Instantly share code, notes, and snippets.

@b1nary
Created May 1, 2012 21:44
Show Gist options
  • Save b1nary/2571688 to your computer and use it in GitHub Desktop.
Save b1nary/2571688 to your computer and use it in GitHub Desktop.
JSP Homework

*O* Homework *O*

Sooo well done!

<!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