Fixed bug with the submit - if pressed Enter then it was doing a plain submit without a dispatch parameter. Added the parameter to the main form definition and changed the validate routine to return a boolean. The submission is now triggered by s doSubmit on the body tag.
Changed learning so that (a) the first screen doesn't go back to the server every time the user clicks a checkbox and (b) the vote maps have been moved from the session scope to the request scope.