<%@page import="java.io.IOException" %><%@page import="java.io.PrintWriter" %><%@page import="java.util.Dictionary" %><%@page import="java.util.Hashtable" %><%@page import="java.util.Vector" %><%! // following is identical to Java private static class Entry { private String name_; private String comment_; public Entry( String name, String comment ) { name_ = name; comment_ = comment; } public String name() { return name_; } public String comment() { return comment_; } } private static final Vector entries = new Vector(); static { entries.addElement(new Entry("Socrates", "To do is to be")); entries.addElement(new Entry("Plato", "To be is to do")); entries.addElement(new Entry("Sinatra", "Do be do be do")); } private static final String safeTrim( String s ) { return s == null ? s : s.trim(); } // above is identical to JSP %><% // following is identical to JSP String name = ""; String comment = ""; Dictionary fieldErrors = new Hashtable(); String pageMessage = null; if ( "POST".equals(request.getMethod()) ) { name = safeTrim(request.getParameter("name")); comment = safeTrim(request.getParameter("comment")); if ( name == null || name.length() == 0 ) { fieldErrors.put("name", "Please enter your name"); } if ( comment == null || comment.length() == 0 ) { fieldErrors.put("comment", "Please enter a comment"); } if ( fieldErrors.isEmpty() ) { entries.addElement(new Entry(name, comment)); pageMessage = "Thank you for signing my guestbook!"; name = ""; comment = ""; } else { pageMessage = "Please correct the items below"; } } // above is identical to Java %> request.getRequestURI() ! fieldErrors.isEmpty() ? "errorContainer" : (pageMessage != null ? "successContainer" : "emptyMessageContainer") ! fieldErrors.isEmpty() ? "errorMessage" : (pageMessage != null ? "successMessage" : "emptyMessage") pageMessage != null ? pageMessage : " " name fieldErrors.get("name") != null comment fieldErrors.get("comment") != null submit entries entry.name() entry.comment()