diff --git a/apps/routerconsole/jsp/config.jsp b/apps/routerconsole/jsp/config.jsp
index 0d56b5f59d2045633f7b6ca43e729e03118a282b..538fb8a5f25f0e96f892b1cc7e6a507cabd10274 100644
--- a/apps/routerconsole/jsp/config.jsp
+++ b/apps/routerconsole/jsp/config.jsp
@@ -19,13 +19,10 @@
  <%@include file="confignav.jsi" %>
 
  <jsp:useBean class="net.i2p.router.web.ConfigNetHandler" id="formhandler" scope="request" />
- <% formhandler.storeMethod(request.getMethod()); %>
- <jsp:setProperty name="formhandler" property="*" />
- <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
- <jsp:getProperty name="formhandler" property="allMessages" />
+<%@include file="formhandler.jsi" %>
 <div class="configure">
  <form action="" method="POST">
- <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
+ <input type="hidden" name="nonce" value="<%=pageNonce%>">
  <input type="hidden" name="action" value="blah" >
  <input type="hidden" name="ratesOnly" value="1" >
  <h3><%=intl._("Bandwidth limiter")%></h3><p>
diff --git a/apps/routerconsole/jsp/configadvanced.jsp b/apps/routerconsole/jsp/configadvanced.jsp
index 53a8b227f5c7a3087f8e3128ff11b3c0502a400e..d8a19e35055a3580f97496a5ac7994c5c1327c6c 100644
--- a/apps/routerconsole/jsp/configadvanced.jsp
+++ b/apps/routerconsole/jsp/configadvanced.jsp
@@ -21,14 +21,11 @@
  <%@include file="confignav.jsi" %>
 
  <jsp:useBean class="net.i2p.router.web.ConfigAdvancedHandler" id="formhandler" scope="request" />
- <% formhandler.storeMethod(request.getMethod()); %>
- <jsp:setProperty name="formhandler" property="*" />
- <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
- <jsp:getProperty name="formhandler" property="allMessages" />
+<%@include file="formhandler.jsi" %>
  <div class="configure">
  <div class="wideload">
  <form action="" method="POST">
- <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
+ <input type="hidden" name="nonce" value="<%=pageNonce%>" >
  <input type="hidden" name="action" value="blah" >
  <h3><%=intl._("Advanced I2P Configuration")%></h3>
  <textarea rows="32" cols="60" name="config" wrap="off" spellcheck="false"><jsp:getProperty name="advancedhelper" property="settings" /></textarea><br><hr>
diff --git a/apps/routerconsole/jsp/configclients.jsp b/apps/routerconsole/jsp/configclients.jsp
index 13a4d6f1ba17f04b6adee7cee5f85fc60da6acee..3d0cf7cda6998c90410d7f387e91b415909978a2 100644
--- a/apps/routerconsole/jsp/configclients.jsp
+++ b/apps/routerconsole/jsp/configclients.jsp
@@ -25,16 +25,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
  <%@include file="confignav.jsi" %>
 
  <jsp:useBean class="net.i2p.router.web.ConfigClientsHandler" id="formhandler" scope="request" />
- <% formhandler.storeMethod(request.getMethod()); %>
- <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
- <jsp:setProperty name="formhandler" property="action" value="<%=request.getParameter(\"action\")%>" />
- <jsp:setProperty name="formhandler" property="nonce" value="<%=request.getParameter(\"nonce\")%>" />
- <jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" />
- <jsp:getProperty name="formhandler" property="allMessages" />
+<%@include file="formhandler.jsi" %>
  <div class="configure">
-<%
-    String pageNonce = formhandler.getNewNonce();
-%>
  <h3><%=intl._("Client Configuration")%></h3><p>
  <%=intl._("The Java clients listed below are started by the router and run in the same JVM.")%>
  </p><div class="wideload">
diff --git a/apps/routerconsole/jsp/confighome.jsp b/apps/routerconsole/jsp/confighome.jsp
index b8296fcbbbedccd253199b66cebb1db6f9090487..6be2d9d2e9fdf9988df568c5158a3d5c91c43954 100644
--- a/apps/routerconsole/jsp/confighome.jsp
+++ b/apps/routerconsole/jsp/confighome.jsp
@@ -22,14 +22,7 @@ input.default {
 <%@include file="confignav.jsi" %>
 
 <jsp:useBean class="net.i2p.router.web.ConfigHomeHandler" id="formhandler" scope="request" />
-<% formhandler.storeMethod(request.getMethod()); %>
-<jsp:setProperty name="formhandler" property="*" />
-<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
-<jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" />
-<jsp:getProperty name="formhandler" property="allMessages" />
-<%
-    String pageNonce = formhandler.getNewNonce();
-%>
+<%@include file="formhandler.jsi" %>
 <jsp:useBean class="net.i2p.router.web.HomeHelper" id="homehelper" scope="request" />
 <jsp:setProperty name="homehelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
 
diff --git a/apps/routerconsole/jsp/configkeyring.jsp b/apps/routerconsole/jsp/configkeyring.jsp
index e8b4089371fb38b0fd19c11a1d834ba673dbd5d1..b2f5ef657cd8258e79880c4d97489f2ebe17b03c 100644
--- a/apps/routerconsole/jsp/configkeyring.jsp
+++ b/apps/routerconsole/jsp/configkeyring.jsp
@@ -15,10 +15,7 @@
  <%@include file="confignav.jsi" %>
 
  <jsp:useBean class="net.i2p.router.web.ConfigKeyringHandler" id="formhandler" scope="request" />
- <% formhandler.storeMethod(request.getMethod()); %>
- <jsp:setProperty name="formhandler" property="*" />
- <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
- <jsp:getProperty name="formhandler" property="allMessages" />
+<%@include file="formhandler.jsi" %>
  <jsp:useBean class="net.i2p.router.web.ConfigKeyringHelper" id="keyringhelper" scope="request" />
  <jsp:setProperty name="keyringhelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
 <div class="configure"><h2><%=intl._("Keyring")%></h2><p>
@@ -29,7 +26,7 @@
 </div>
 
  <form action="" method="POST">
- <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
+ <input type="hidden" name="nonce" value="<%=pageNonce%>" >
  <h3><%=intl._("Manual Keyring Addition")%></h3><p>
  <%=intl._("Enter keys for encrypted remote destinations here.")%>
  <%=intl._("Keys for local destinations must be entered on the")%> <a href="i2ptunnel/"><%=intl._("I2PTunnel page")%></a>.
diff --git a/apps/routerconsole/jsp/configlogging.jsp b/apps/routerconsole/jsp/configlogging.jsp
index c6f3ed945a1e3c75432ccd4f817fc3aa84144f2d..837ed81b8a126e97313979b430252b54efe02682 100644
--- a/apps/routerconsole/jsp/configlogging.jsp
+++ b/apps/routerconsole/jsp/configlogging.jsp
@@ -18,13 +18,10 @@
  <%@include file="confignav.jsi" %>
 
  <jsp:useBean class="net.i2p.router.web.ConfigLoggingHandler" id="formhandler" scope="request" />
- <% formhandler.storeMethod(request.getMethod()); %>
- <jsp:setProperty name="formhandler" property="*" />
- <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
- <jsp:getProperty name="formhandler" property="allMessages" />
+<%@include file="formhandler.jsi" %>
 <div class="configure">
  <form action="" method="POST">
- <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
+ <input type="hidden" name="nonce" value="<%=pageNonce%>" >
  <input type="hidden" name="action" value="blah" >
  <h3><%=intl._("Configure I2P Logging Options")%></h3>
  <div class="wideload">
diff --git a/apps/routerconsole/jsp/confignet.jsp b/apps/routerconsole/jsp/confignet.jsp
index 7fb74500d918a3805ded794d005b8ee1528127cb..72de18c4f60b3133c291e8e97ea7b14f9fc4c0b8 100644
--- a/apps/routerconsole/jsp/confignet.jsp
+++ b/apps/routerconsole/jsp/confignet.jsp
@@ -18,13 +18,10 @@
  <%@include file="confignav.jsi" %>
 
  <jsp:useBean class="net.i2p.router.web.ConfigNetHandler" id="formhandler" scope="request" />
- <% formhandler.storeMethod(request.getMethod()); %>
- <jsp:setProperty name="formhandler" property="*" />
- <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
- <jsp:getProperty name="formhandler" property="allMessages" />
+<%@include file="formhandler.jsi" %>
 <div class="configure">
  <form action="" method="POST">
- <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
+ <input type="hidden" name="nonce" value="<%=pageNonce%>" >
  <input type="hidden" name="action" value="blah" >
  <h3><%=intl._("IP and Transport Configuration")%></h3><p>
  <img src="/themes/console/images/itoopie_xsm.png" alt="">
diff --git a/apps/routerconsole/jsp/configpeer.jsp b/apps/routerconsole/jsp/configpeer.jsp
index 9952db5534fcbef79e0e795daa0330520aa69ac7..b3aed01e6adce2287620c5039d0c273ad39cfb20 100644
--- a/apps/routerconsole/jsp/configpeer.jsp
+++ b/apps/routerconsole/jsp/configpeer.jsp
@@ -15,13 +15,7 @@
  <%@include file="confignav.jsi" %>
 
  <jsp:useBean class="net.i2p.router.web.ConfigPeerHandler" id="formhandler" scope="request" />
- <% formhandler.storeMethod(request.getMethod()); %>
- <jsp:setProperty name="formhandler" property="*" />
- <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
- <jsp:getProperty name="formhandler" property="allMessages" />
-
-
-
+<%@include file="formhandler.jsi" %>
  <jsp:useBean class="net.i2p.router.web.ConfigPeerHelper" id="peerhelper" scope="request" />
  <jsp:setProperty name="peerhelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
 
@@ -31,7 +25,7 @@
  %>
  <div class="configure">
  <form action="configpeer" method="POST">
- <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
+ <input type="hidden" name="nonce" value="<%=pageNonce%>" >
  <a name="sh"> </a>
  <a name="unsh"> </a>
  <a name="bonus"> </a>
diff --git a/apps/routerconsole/jsp/configreseed.jsp b/apps/routerconsole/jsp/configreseed.jsp
index 39df228c698224742b9b1585071302791a975318..c83ed389dd0487820155c275335dcc11a25f877a 100644
--- a/apps/routerconsole/jsp/configreseed.jsp
+++ b/apps/routerconsole/jsp/configreseed.jsp
@@ -18,14 +18,9 @@
 <%@include file="confignav.jsi" %>
 
 <jsp:useBean class="net.i2p.router.web.ConfigReseedHandler" id="formhandler" scope="request" />
-<% formhandler.storeMethod(request.getMethod()); %>
-<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
-<jsp:setProperty name="formhandler" property="action" value="<%=request.getParameter(\"action\")%>" />
-<jsp:setProperty name="formhandler" property="nonce" value="<%=request.getParameter(\"nonce\")%>" />
-<jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" />
-<jsp:getProperty name="formhandler" property="allMessages" />
+<%@include file="formhandler.jsi" %>
 <div class="configure"><form action="" method="POST">
-<input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
+<input type="hidden" name="nonce" value="<%=pageNonce%>" >
 <h3><%=intl._("Reseeding Configuration")%></h3>
 <p><%=intl._("Reseeding is the bootstrapping process used to find other routers when you first install I2P, or when your router has too few router references remaining.")%>
 <%=intl._("If reseeding has failed, you should first check your network connection.")%>
diff --git a/apps/routerconsole/jsp/configservice.jsp b/apps/routerconsole/jsp/configservice.jsp
index 303fa4d31cb370be4a1f332d6129ce00fa585902..c6711cc43c54078182cd4372b5cb12f932c09577 100644
--- a/apps/routerconsole/jsp/configservice.jsp
+++ b/apps/routerconsole/jsp/configservice.jsp
@@ -15,13 +15,10 @@
  <%@include file="confignav.jsi" %>
 
  <jsp:useBean class="net.i2p.router.web.ConfigServiceHandler" id="formhandler" scope="request" />
- <% formhandler.storeMethod(request.getMethod()); %>
- <jsp:setProperty name="formhandler" property="*" />
- <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
- <jsp:getProperty name="formhandler" property="allMessages" />
+<%@include file="formhandler.jsi" %>
  <div class="configure">
  <form action="" method="POST">
- <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
+ <input type="hidden" name="nonce" value="<%=pageNonce%>" >
  <h3><%=intl._("Shutdown the router")%></h3>
  <p><%=intl._("Graceful shutdown lets the router satisfy the agreements it has already made before shutting down, but may take a few minutes.")%> 
     <%=intl._("If you need to kill the router immediately, that option is available as well.")%></p>
diff --git a/apps/routerconsole/jsp/configsidebar.jsp b/apps/routerconsole/jsp/configsidebar.jsp
index 074fcfda30049066a95176993fe5df29083179d1..129feaa10701cf0dcf5b1f635ddf6b533a25008a 100644
--- a/apps/routerconsole/jsp/configsidebar.jsp
+++ b/apps/routerconsole/jsp/configsidebar.jsp
@@ -22,17 +22,10 @@ input.default {
 <%@include file="confignav.jsi" %>
 
 <jsp:useBean class="net.i2p.router.web.ConfigSummaryHandler" id="formhandler" scope="request" />
-<% formhandler.storeMethod(request.getMethod()); %>
-<jsp:setProperty name="formhandler" property="*" />
-<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
-<jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" />
+<%@include file="formhandler.jsi" %>
 <%
     formhandler.setMovingAction();
 %>
-<jsp:getProperty name="formhandler" property="allMessages" />
-<%
-    String pageNonce = formhandler.getNewNonce();
-%>
 <jsp:useBean class="net.i2p.router.web.SummaryHelper" id="summaryhelper" scope="request" />
 <jsp:setProperty name="summaryhelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
 
diff --git a/apps/routerconsole/jsp/configstats.jsp b/apps/routerconsole/jsp/configstats.jsp
index 8a70c84bc4d470ee0eaee7f2ce386e5dfb325037..d6bd67c1e5f50d50e1c52595de51e630476e512d 100644
--- a/apps/routerconsole/jsp/configstats.jsp
+++ b/apps/routerconsole/jsp/configstats.jsp
@@ -66,17 +66,13 @@ function toggleAll(category)
  <%@include file="confignav.jsi" %>
 
  <jsp:useBean class="net.i2p.router.web.ConfigStatsHandler" id="formhandler" scope="request" />
- <% formhandler.storeMethod(request.getMethod()); %>
- <jsp:setProperty name="formhandler" property="*" />
- <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
- <jsp:getProperty name="formhandler" property="allMessages" />
-
+<%@include file="formhandler.jsi" %>
  <jsp:useBean class="net.i2p.router.web.ConfigStatsHelper" id="statshelper" scope="request" />
  <jsp:setProperty name="statshelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
  <div class="configure">
  <form id="statsForm" name="statsForm" action="" method="POST">
  <input type="hidden" name="action" value="foo" >
- <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
+ <input type="hidden" name="nonce" value="<%=pageNonce%>" >
  <h3><%=intl._("Configure I2P Stat Collection")%></h3>
  <p><%=intl._("Enable full stats?")%>
  <input type="checkbox" class="optbox" name="isFull" value="true" <%
diff --git a/apps/routerconsole/jsp/configtunnels.jsp b/apps/routerconsole/jsp/configtunnels.jsp
index e2eab6658f2c7f23e76bbaefab7f145bb8213c9e..de82f0027d813fa7e9050396f240ea92f42a0a86 100644
--- a/apps/routerconsole/jsp/configtunnels.jsp
+++ b/apps/routerconsole/jsp/configtunnels.jsp
@@ -17,13 +17,7 @@
 <div class="main" id="main">
  <%@include file="confignav.jsi" %>
  <jsp:useBean class="net.i2p.router.web.ConfigTunnelsHandler" id="formhandler" scope="request" />
- <% formhandler.storeMethod(request.getMethod()); %>
- <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
- <jsp:setProperty name="formhandler" property="shouldsave" value="<%=request.getParameter(\"shouldsave\")%>" />
- <jsp:setProperty name="formhandler" property="action" value="<%=request.getParameter(\"action\")%>" />
- <jsp:setProperty name="formhandler" property="nonce" value="<%=request.getParameter(\"nonce\")%>" />
- <jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" />
- <jsp:getProperty name="formhandler" property="allMessages" />
+<%@include file="formhandler.jsi" %>
  <div class="configure"><p>
  <%=intl._("NOTE")%>: 
  <%=intl._("The default settings work for most people.")%> 
@@ -33,7 +27,7 @@
  <%=intl._("Change these settings with care, and adjust them if you have problems.")%>
 <div class="wideload">
 <form action="" method="POST">
- <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
+ <input type="hidden" name="nonce" value="<%=pageNonce%>" >
  <input type="hidden" name="action" value="blah" >
  <jsp:getProperty name="tunnelshelper" property="form" />
  <%=intl._("Note")%>: <%=intl._("Exploratory tunnel setting changes are stored in the router.config file.")%>
diff --git a/apps/routerconsole/jsp/configui.jsp b/apps/routerconsole/jsp/configui.jsp
index 3177142da95edb5107ee7c4a96cd6ae4c39630ae..f1555a8920d1b99430144430c2030555ca810054 100644
--- a/apps/routerconsole/jsp/configui.jsp
+++ b/apps/routerconsole/jsp/configui.jsp
@@ -28,11 +28,7 @@ input.default {
  <%@include file="confignav.jsi" %>
 
  <jsp:useBean class="net.i2p.router.web.ConfigUIHandler" id="formhandler" scope="request" />
- <% formhandler.storeMethod(request.getMethod()); %>
- <jsp:setProperty name="formhandler" property="*" />
- <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
- <jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" />
- <jsp:getProperty name="formhandler" property="allMessages" />
+<%@include file="formhandler.jsi" %>
 <div class="configure"><div class="topshimten"><h3><%=uihelper._("Router Console Theme")%></h3></div>
  <form action="" method="POST">
 <%
@@ -42,7 +38,6 @@ input.default {
         consoleNonce = Long.toString(new java.util.Random().nextLong());
         System.setProperty("router.consoleNonce", consoleNonce);
     }
-    String pageNonce = formhandler.getNewNonce();
 %>
  <input type="hidden" name="consoleNonce" value="<%=consoleNonce%>" >
  <input type="hidden" name="nonce" value="<%=pageNonce%>" >
diff --git a/apps/routerconsole/jsp/configupdate.jsp b/apps/routerconsole/jsp/configupdate.jsp
index a792bb07b3f28eb00c01a165c525a77e19d64343..2d2e54d25782046cf2e580f6e137bc8727a277c4 100644
--- a/apps/routerconsole/jsp/configupdate.jsp
+++ b/apps/routerconsole/jsp/configupdate.jsp
@@ -16,17 +16,14 @@
  <%@include file="confignav.jsi" %>
 
  <jsp:useBean class="net.i2p.router.web.ConfigUpdateHandler" id="formhandler" scope="request" />
- <% formhandler.storeMethod(request.getMethod()); %>
- <jsp:setProperty name="formhandler" property="*" />
- <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
- <jsp:getProperty name="formhandler" property="allMessages" />
+<%@include file="formhandler.jsi" %>
  <jsp:useBean class="net.i2p.router.web.ConfigUpdateHelper" id="updatehelper" scope="request" />
  <jsp:setProperty name="updatehelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
 <div class="messages">
  <jsp:getProperty name="updatehelper" property="newsStatus" /></div>
 <div class="configure">
  <form action="" method="POST">
- <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
+ <input type="hidden" name="nonce" value="<%=pageNonce%>" >
  <% /* set hidden default */ %>
  <input type="submit" name="action" value="" style="display:none" >
     <% if (updatehelper.canInstall()) { %>
diff --git a/apps/routerconsole/jsp/formhandler.jsi b/apps/routerconsole/jsp/formhandler.jsi
new file mode 100644
index 0000000000000000000000000000000000000000..a773dda8d5f57ccde9e859947cfacdcba497c7f4
--- /dev/null
+++ b/apps/routerconsole/jsp/formhandler.jsi
@@ -0,0 +1,33 @@
+<%
+    /*
+     *  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:
+     *  <jsp:useBean class="net.i2p.router.web.xxxHandler" id="formhandler" scope="request" />
+     */
+
+    // This initializes the RouterContext - must be the first thing
+    formhandler.setContextId((String)session.getAttribute("i2p.contextId"));
+
+    // Prevents any saves via GET
+    formhandler.storeMethod(request.getMethod());
+
+    // 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());
+
+%>
+<jsp:setProperty name="formhandler" property="*" />
+<jsp:getProperty name="formhandler" property="allMessages" />
+<%
+
+    // 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();
+
+%>