[ http://mc4j.org/jira/browse/STS-384?page=comments#action_10719 ] Tom Wirschell commented on STS-384: -----------------------------------
And for some reason it never dawned on me that I should use a <stripes:errors> tag on my page to see what this earlier validation problem was. Turns out I had a type mismatch on one of the supplied form parameters. Please close this issue: PEBKAC. > Helper on ActionBean isn't being called > --------------------------------------- > > Key: STS-384 > URL: http://mc4j.org/jira/browse/STS-384 > Project: Stripes > Issue Type: Bug > Components: ActionBean Dispatching > Affects Versions: Release 1.4.2, Release 1.4.3 > Environment: TomCat 6, Java 5.0, Hibernate 3 > Reporter: Tom Wirschell > Assigned To: Tim Fennell > > Below is the log output of a form submission to a Stripes actionbean: > 2007-06-11 02:15:01,968 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.StripesFilter - Intercepting request to > URL: /arkanoid/admin/eiercase/MenuGerecht.action > 2007-06-11 02:15:01,968 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.StripesFilter - LocalePicker selected > locale: en_US > 2007-06-11 02:15:01,969 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.StripesFilter - LocalePicker did not pick > a character encoding, using default: null > 2007-06-11 02:15:01,969 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.DispatcherServlet - Dispatching request to > URL: /arkanoid/admin/eiercase/MenuGerecht.action > 2007-06-11 02:15:01,969 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.ExecutionContext - Transitioning to > lifecycle stage ActionBeanResolution > 2007-06-11 02:15:01,969 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.ExecutionContext - Transitioning to > lifecycle stage HandlerResolution > 2007-06-11 02:15:01,969 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.DispatcherHelper - Resolved event: > saveNew; will invoke: MenuGerechtActionBean.saveNew() > 2007-06-11 02:15:01,969 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.ExecutionContext - Transitioning to > lifecycle stage BindingAndValidation > 2007-06-11 02:15:01,970 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.DefaultActionBeanPropertyBinder - Running > required field validation on bean class > nl.radrace.web.admin.eiercase.MenuGerechtActionBean > 2007-06-11 02:15:01,971 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.DefaultActionBeanPropertyBinder - Running > binding for property with name: menuGerechtNaam > 2007-06-11 02:15:01,972 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.DefaultActionBeanPropertyBinder - > Converting 1 value(s) using converter [EMAIL PROTECTED] > 2007-06-11 02:15:01,979 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.DefaultActionBeanPropertyBinder - Running > binding for property with name: menuGerechtPrijs > 2007-06-11 02:15:01,979 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.DefaultActionBeanPropertyBinder - > Converting 1 value(s) using converter [EMAIL PROTECTED] > 2007-06-11 02:15:01,979 [http-8080-2] DEBUG > nl.radrace.web.admin.eiercase.MenuGerechtActionBean - ENTER: > setMenuGerechtPrijs > 2007-06-11 02:15:01,979 [http-8080-2] DEBUG > nl.radrace.web.admin.eiercase.MenuGerechtActionBean - EXIT: > setMenuGerechtPrijs > 2007-06-11 02:15:01,980 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.DefaultActionBeanPropertyBinder - Running > binding for property with name: menuGerechtMenuId > 2007-06-11 02:15:01,980 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.DefaultActionBeanPropertyBinder - > Converting 1 value(s) using converter [EMAIL PROTECTED] > 2007-06-11 02:15:01,980 [http-8080-2] DEBUG > nl.radrace.web.admin.eiercase.MenuGerechtActionBean - ENTER: > setMenuGerechtMenuId > 2007-06-11 02:15:01,980 [http-8080-2] DEBUG > nl.radrace.web.admin.eiercase.MenuGerechtActionBean - EXIT: > setMenuGerechtMenuId > 2007-06-11 02:15:01,980 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.DefaultActionBeanPropertyBinder - Running > binding for property with name: menuGerechtGerechtId > 2007-06-11 02:15:01,980 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.DefaultActionBeanPropertyBinder - > Converting 1 value(s) using converter [EMAIL PROTECTED] > 2007-06-11 02:15:01,980 [http-8080-2] DEBUG > nl.radrace.web.admin.eiercase.MenuGerechtActionBean - ENTER: > setMenuGerechtGerechtId > 2007-06-11 02:15:01,980 [http-8080-2] DEBUG > nl.radrace.web.admin.eiercase.MenuGerechtActionBean - EXIT: > setMenuGerechtGerechtId > 2007-06-11 02:15:01,981 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.ExecutionContext - Transitioning to > lifecycle stage CustomValidation > 2007-06-11 02:15:01,982 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.ExecutionContext - Transitioning to > lifecycle stage ResolutionExecution > 2007-06-11 02:15:01,983 [http-8080-2] DEBUG > net.sourceforge.stripes.action.ForwardResolution - Forwarding to URL: > /WEB-INF/jsp/admin/eiercase/MenuGerecht.jsp > The DispatcherHelper claims that it will invoke the > MenuGerechtActionBean.saveNew() handler, however it never does. In fact, it > doesn't even call the configured validationmethod, as evidenced by the logs > above. > When I invoke the actionbean's create handler via a stripes:link the > following is logged: > 2007-06-11 02:14:48,335 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.StripesFilter - Intercepting request to > URL: /arkanoid/admin/eiercase/MenuGerecht.action > 2007-06-11 02:14:48,335 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.StripesFilter - LocalePicker selected > locale: en_US > 2007-06-11 02:14:48,335 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.StripesFilter - LocalePicker did not pick > a character encoding, using default: null > 2007-06-11 02:14:48,335 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.DispatcherServlet - Dispatching request to > URL: /arkanoid/admin/eiercase/MenuGerecht.action > 2007-06-11 02:14:48,336 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.ExecutionContext - Transitioning to > lifecycle stage ActionBeanResolution > 2007-06-11 02:14:48,339 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.ExecutionContext - Transitioning to > lifecycle stage HandlerResolution > 2007-06-11 02:14:48,340 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.DispatcherHelper - Resolved event: create; > will invoke: MenuGerechtActionBean.create() > 2007-06-11 02:14:48,340 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.ExecutionContext - Transitioning to > lifecycle stage BindingAndValidation > 2007-06-11 02:14:48,340 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.DefaultActionBeanPropertyBinder - Running > required field validation on bean class > nl.radrace.web.admin.eiercase.MenuGerechtActionBean > 2007-06-11 02:14:48,340 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.ExecutionContext - Transitioning to > lifecycle stage CustomValidation > 2007-06-11 02:14:48,341 [http-8080-2] ERROR > nl.radrace.web.admin.eiercase.MenuGerechtActionBean - Ping > 2007-06-11 02:14:48,411 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.ExecutionContext - Transitioning to > lifecycle stage EventHandling > 2007-06-11 02:14:48,411 [http-8080-2] DEBUG > nl.radrace.web.admin.eiercase.MenuGerechtActionBean - ENTER: create > 2007-06-11 02:14:48,411 [http-8080-2] DEBUG > nl.radrace.web.admin.eiercase.MenuGerechtActionBean - EXIT: create > 2007-06-11 02:14:48,412 [http-8080-2] DEBUG > net.sourceforge.stripes.controller.ExecutionContext - Transitioning to > lifecycle stage ResolutionExecution > 2007-06-11 02:14:48,412 [http-8080-2] DEBUG > net.sourceforge.stripes.action.ForwardResolution - Forwarding to URL: > /WEB-INF/jsp/admin/eiercase/MenuGerecht.jsp > Note the presence of the Ping ERROR line from the validationmethod and the > ENTER and EXIT lines from the create method. > The mentioned methods look like this: > public Resolution create() { > logger.debug("ENTER: create"); > setViewMode(ViewMode.CREATE); > logger.debug("EXIT: create"); > return forwardToAdminMenuGerechtDetailPage(); > } > @HandlesEvent("saveNew") > public Resolution saveNew() { > logger.debug("ENTER: saveNew"); > menuGerecht = new MenuGerecht(); > menuGerecht = fillMenuGerecht(menuGerecht); > menuGerecht = > AvailableServices.getEiercase().saveMenuGerecht(getContext(), menuGerecht); > if (menuGerecht == null) { > menuGerecht = new MenuGerecht(); > menuGerecht = fillMenuGerecht(menuGerecht); > setViewMode(ViewMode.CREATE); > } else { > setViewMode(ViewMode.READ); > } > logger.debug("EXIT: saveNew"); > return forwardToAdminMenuGerechtDetailPage(); > } > @ValidationMethod > public void verifyAuthorization(ValidationErrors errors) { > logger.error("Ping"); > if (verifyAuthorization() == false) { > addGlobalError(errors,"Access denied."); > } > } > The HandlesEvent annotation was my most recent attempt at getting this method > called. > I'm seeing this problem with both Stripes 1.4.2 and 1.4.3. No difference, and > no hint as to why it's not doing what it should be doing. I've generated this > class along with a whole slew of other classes, and none of them exhibit this > behaviour. I've run out of things to try. It's as if a ValidationMethod is > being run before the one I provide (which is the only one I have in my code), > fails in such a way that my own ValidationMethod isn't called anymore and > sends the user back to the sourcePage. Hopefully someone here knows something > I could try to investigate this issue further, as currently I'm completely > stuck. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://mc4j.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Stripes-development mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/stripes-development
