ActionBean bean = getActionBeanInstance(clazz, request);
    protected void doPost(HttpServletRequest request, HttpServletResponse response)        throws ServletException {        try {            // Lookup the bean class, handler method and hook everything together            ActionBeanContext context =  StripesFilter.getConfiguration()                    .getActionBeanContextFactory().getContextInstance(request, response);            Resolution resolution = null;            ActionResolver actionResolver = StripesFilter.getConfiguration().getActionResolver();            Class<ActionBean> clazz = actionResolver.getActionBean(context);            String eventName        = actionResolver.getEventName(clazz, context);            context.setEventName(eventName);            Method handler = null;            if (eventName != null) {                handler = actionResolver.getHandler(clazz, eventName);            }            else {                handler = actionResolver.getDefaultHandler(clazz);            }            // Insist that we have a handler            if (handler == null) {                throw new StripesServletException("No handler method found for request with " +                    "ActionBean [" + clazz.getName() + "] and eventName [ " + eventName + "]");            }            // Instantiate and set us up the bean            ActionBean bean = getActionBeanInstance(clazz, request);            bean.setContext(context);            request.setAttribute((String) request.getAttribute(ActionResolver.RESOLVED_ACTION), bean);            request.setAttribute(StripesConstants.REQ_ATTR_ACTION_BEAN, bean);            // Find out if we're validating for this event or not            boolean doValidate = (handler.getAnnotation(DontValidate.class) == null);            // Bind the value to the bean - this includes performing field level validation            ValidationErrors errors = bindValues(bean, context, doValidate);            // If blah blah blah, run the bean's validate method, or maybe handleErrors            if (errors.size() == 0 && bean instanceof Validatable && doValidate) {                ((Validatable) bean).validate(errors);            }            else if (bean instanceof ValidationErrorHandler) {                resolution = ((ValidationErrorHandler) bean).handleValidationErrors(errors);            }            // If there are errors, head off to the input page            if (errors.size() > 0) {                String formAction = (String) request.getAttribute(ActionResolver.RESOLVED_ACTION);                /** Since we don't pass form action down the stack, we add it to the errors here. */                for (List<ValidationError> listOfErrors : errors.values()) {                    for (ValidationError error : listOfErrors) {                        error.setActionPath(formAction);                    }                }                bean.getContext().setValidationErrors(errors);                // If we didn't get a resolution from handleValidationErrors, get a default one                if (resolution == null) {                    resolution  = getErrorResolution(request);                }            }            else {                Object returnValue = handler.invoke(bean);                if (returnValue != null && returnValue instanceof Resolution) {                    resolution = (Resolution) returnValue;                }                else {                    log.warn("Expected handler method ", handler.getName(), " on class ",                             clazz.getSimpleName(), " to return a Resolution. Instead it ",                             "returned: ", returnValue);                }            }            // Finally, execute the resolution            resolution.execute(request, response);        }        catch (ServletException se) { throw se; }        catch (InvocationTargetException ite) {            if (ite.getTargetException() instanceof ServletException) {                throw (ServletException) ite.getTargetException();            }            else {                throw new StripesServletException                    ("ActionBean execution threw an exception.", ite.getTargetException());            }        }        catch (Exception e) {            throw new StripesServletException("Exception encountered processing request.", e);        }    }