<% /* * Does the standard setup for all form handlers, then * displays the message box (which drives the form processing). * * Included ~15 times, keep whitespace to a minimum * * Include this directly after the line: * */ // This initializes the RouterContext - must be the first thing // i2pcontextId set in css.jsi formhandler.setContextId(i2pcontextId); // Prevents any saves via GET formhandler.storeMethod(request.getMethod()); // Store the nonces for verification String klass = formhandler.getClass().getName(); String nonceAttr1 = klass + ".nonce"; String nonceAttr2 = nonceAttr1 + "Prev"; String nonce1 = null; try { // Jetty doesn't seem to ISE here... nonce1 = (String) session.getAttribute(nonceAttr1); String nonce2 = (String) session.getAttribute(nonceAttr2); formhandler.storeNonces(nonce1, nonce2); } catch (IllegalStateException ise) { // nonce1 will be null, removed in setAttibute below } String contentType = request.getContentType(); if (contentType != null && contentType.toLowerCase(java.util.Locale.US).startsWith( "multipart/form-data")) { // For multipart/form-data, we must decode things enough to get the action and nonce // so FormHandler will validate. // The handler must get everything else through the wrapper. No other properties will be set. // All parameters other than nonce and action must be retrieved through the wrapper. // Warning, parameters are NOT XSS filtered. net.i2p.servlet.RequestWrapper requestWrapper = new net.i2p.servlet.RequestWrapper(request); String action = requestWrapper.getParameter("action"); if (action != null) formhandler.setAction(action); String nonce = requestWrapper.getParameter("nonce"); if (nonce != null) formhandler.setNonce(nonce); formhandler.setRequestWrapper(requestWrapper); } else { // Put all the params in the map, some handlers use this instead of individual setters // We also call all of the setters below. formhandler.setSettings(request.getParameterMap()); %><% } %><% // Only call this once per page, do not getProperty("newNonce") elsewhere, // use the variable instead. // This shuffles down the nonces, so it must be after getAllMessages() above, // since it does the form validation. String pageNonce = formhandler.getNewNonce(); try { // Jetty waits to ISE until here.... session.setAttribute(nonceAttr2, nonce1); session.setAttribute(nonceAttr1, pageNonce); } catch (IllegalStateException ise) {} %>