this.focusSet = false;
    public int doEndTag() throws JspException {        try {            // Default the method to post            if (getMethod() == null) {                setMethod("post");            }            JspWriter out = getPageContext().getOut();            writeOpenTag(out, "form");            getBodyContent().writeOut( getPageContext().getOut() );            // Write out a hidden field with the name of the page in it....            // The div is necessary in order to be XHTML compliant, where a form can contain            // only block level elements (which seems stupid, but whatever).            out.write("<div style=\"display: none;\">");            out.write("<input type=\"hidden\" name=\"");            out.write(StripesConstants.URL_KEY_SOURCE_PAGE);            out.write("\" value=\"");            HttpServletRequest request = (HttpServletRequest) getPageContext().getRequest();            out.write( request.getServletPath());            out.write("\" />");            if (isWizard()) {                writeWizardFields();            }            writeFieldsPresentHiddenField(out);            out.write("</div>");            writeCloseTag(getPageContext().getOut(), "form");            // Clean up any state the container won't reset during tag pooling            this.fieldsPresent.clear();        }        catch (IOException ioe) {            throw new StripesJspException("IOException in FormTag.doEndTag().", ioe);        }        finally {            getTagStack().pop();        }        return EVAL_PAGE;    }