Stripes ActionBean event always resolve to default event
I am using cleanurls formatted like /View/{arg1}/{arg2}/{$event}
.
ActionBeanView
has multiple events. However irrespective of which event I invoke from browser, this always gets resolved to the default event.
Any ideas what am I doing wrong (fairly new to Stripes).
Here is the error log:
11:24:18,497 DEBUG UrlBindingFactory:145 - Matched /View/myarg1/myarg2/ADD.action to [/View/{id}/{asof}/{$event}]
11:24:18,497 DEBUG ExecutionContext:150 - Transitioning to lifecycle stage Reque
stInit
11:24:18,497 DEBUG ExecutionContext:150 - Transitioning to lifecycle stage Actio
nBeanResolution
11:24:18,497 DEBUG UrlBindingFactory:145 - Matched /View/myarg1/myarg2/ADD.action to [/View/{id}/{asof}/{$event}]
11:24:18,497 DEBUG UrlBindingFactory:145 - Matched /View/myarg1/myarg2/ADD.action to [/View/{id}/{asof}/{$event}]
11:24:18,497 DEBUG ExecutionContext:150 - Transitioning to lifecycle stage Handl
erResolution
11:24:18,497 DEBUG UrlBindingFactory:145 - Matched /View/myarg1/myarg2/ADD.action to [/View/{id}/{asof}/{$event}]
11:24:18,497 DEBUG DispatcherHelper:184 - Resolved event: myDefaultEvent; will invoke:
ViewActionBean.myDefaultEvent()
11:24:18,497 DEBUG ExecutionContext:150 - Transitioning to lifecycle stage Bindi
ngAndValidation
11:24:18,497 DEBUG Default开发者_C百科ActionBeanPropertyBinder:453 - Running required field
validation on bean class www.ViewActionBean
11:24:18,497 DEBUG DefaultActionBeanPropertyBinder:779 - Converting 1 value(s) u
sing converter net.sourceforge.stripes.validation.StringTypeConverter
11:24:18,513 DEBUG DefaultActionBeanPropertyBinder:779 - Converting 1 value(s) u
sing converter net.sourceforge.stripes.validation.StringTypeConverter
11:24:18,513 DEBUG DefaultActionBeanPropertyBinder:282 - Could not bind property
with name [ADD.action] to bean of type: ViewActionBean : Bean class www.View
ActionBean does not contain a property called 'ADD'. As a result the followin
g expression could not be evaluated: ADD.action
----
When you are trying to match an URL like: /View/myarg1/myarg2/ADD.action
with an UrlBinding /View/{arg1}/{arg2}/{$event}
then I would expect Stripes to resolve this to the event named: "ADD.action".
As you did not provide any source code of the Action Bean, I suspect that you didn't annotated the event handler with an HandlesEvent like this:
@HandlesEvent("ADD.action")
public Resolution add() {
... do handle add ...
}
精彩评论