[ https://issues.apache.org/jira/browse/WW-3876?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rene Gielen closed WW-3876. --------------------------- Resolution: Not A Problem As pointed out in the comments, Struts 2 behaves correctly here > NumberConverter convert WRONG > ----------------------------- > > Key: WW-3876 > URL: https://issues.apache.org/jira/browse/WW-3876 > Project: Struts 2 > Issue Type: Bug > Components: Core Actions, Value Stack > Affects Versions: 2.3.4.1 > Environment: java version "1.6.0_31" > Java(TM) SE Runtime Environment (build 1.6.0_31-b05) > Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing) > OS:Win7 > Browser:Chrome > OGNL version 3.0.5 > Reporter: Steven Sinclair > Priority: Minor > Labels: mapping > > I have one action let's called Foo. > Foo has one field named "entity" and Foo implement ModelDriven interface. > so code like below: > {code:title=Foo.java|borderStyle=dashed} > @Namespace("/userresourceaccount") > public class Foo ... { > > private UserResourceAccount entity = new UserResourceAccount(); > > @Override > public UserResourceAccount getModel() { > return entity; > } > @Action(value = "deleteResourceAccountByUserId", results = {@Result(name > = "swJson", type = "json", params = { > "root", "result"})}) > public String deleteResourceAccountByUserId() > throws Exception { > > try { > String id = RequestUtils.getStringParameter(getRequest(), "id"); > > String[] ids = id.split(","); > userResourceAccountService.deleteUserResourceAccount(ids); > > result.add(true); > } > catch (Exception e) { > logger.error(e.getMessage(), e); > result.add(false); > } > > return "swJson"; > } > ... > {code} > http request like this > {color:green}/userresourceaccount/deleteResourceAccountByUserId.action?id=3571,{color} > actually,above "id" is not numerical.it is String value. > but "entity" has one Long field named "id": > {code:title=UserResourceAccount.java|borderStyle=dashed} > public class UserResourceAccount { > private Long id; > ... > } > {code} > and error happened. > {quote} > 2012-09-10 18:24:53,258 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Checking ConfigurationProviders for reload. > 2012-09-10 18:24:53,261 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Entering nullPropertyValue > [target=[com.opensymphony.xwork2.DefaultTextProvider@1071776], > property=struts] > 2012-09-10 18:24:53,262 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Checking ConfigurationProviders for reload. > 2012-09-10 18:24:53,264 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Entering nullPropertyValue > [target=[com.opensymphony.xwork2.DefaultTextProvider@1071776], > property=struts] > 2012-09-10 18:24:53,265 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Checking ConfigurationProviders for reload. > 2012-09-10 18:24:53,266 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Creating an DefaultActionProxy for namespace /userresourceaccount and > action name deleteResourceAccountByUserId > 2012-09-10 18:24:53,268 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - entering MessageStoreInterceptor ... > 2012-09-10 18:24:53,269 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - retrieve error / message from session to populate into action > [net.bwda.framework.web.asset.UserResourceAccountAction@134b16b] > 2012-09-10 18:24:53,269 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - intercept '/userresourceaccount/deleteResourceAccountByUserId' { > 2012-09-10 18:24:53,269 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - applied invocation context locale=zh_CN > 2012-09-10 18:24:53,270 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - before Locale=zh_CN > 2012-09-10 18:24:53,270 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Setting params id => [ 3571, ] > 2012-09-10 18:24:53,271 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - cannot find method [prepareDeleteResourceAccountByUserId] in action > [net.bwda.framework.web.asset.UserResourceAccountAction@134b16b] > 2012-09-10 18:24:53,272 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - cannot find method [prepareDoDeleteResourceAccountByUserId] in action > [net.bwda.framework.web.asset.UserResourceAccountAction@134b16b] > 2012-09-10 18:24:53,421 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Entering nullPropertyValue > [target=[net.bwda.framework.entity.asset.UserResourceAccount@55d6f4, > net.bwda.framework.web.asset.UserResourceAccountAction@134b16b, > com.opensymphony.xwork2.DefaultTextProvider@1071776], property=struts] > 2012-09-10 18:24:53,432 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - class loader org.mortbay.jetty.webapp.WebAppClassLoader is not tomcat > loader. > 2012-09-10 18:24:53,432 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Resource bundles reloaded > 2012-09-10 18:24:53,433 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Bypassing /userresourceaccount/deleteResourceAccountByUserId > 2012-09-10 18:24:53,433 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Setting static parameters {} > 2012-09-10 18:24:53,434 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Setting params NONE > 2012-09-10 18:24:53,434 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Setting params id => [ 3571, ] > 2012-09-10 18:24:53,435 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Property: id > 2012-09-10 18:24:53,436 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Class: net.bwda.framework.entity.asset.UserResourceAccount > 2012-09-10 18:24:53,436 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - field-level type converter for property [id] = none found > 2012-09-10 18:24:53,437 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - global-level type converter for property [id] = none found > 2012-09-10 18:24:53,437 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - falling back to default type converter > [com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@957b67] > 2012-09-10 18:24:53,438 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Creating converter with name [number] > 2012-09-10 18:24:53,439 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Converter of Type > [com.opensymphony.xwork2.conversion.impl.NumberConverter] with name [number], > created! > 2012-09-10 18:24:53,439 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:72)] > - unable to convert value using type converter > [com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter] > Unparseable number: "3571," at position 4 - [unknown location] > at > com.opensymphony.xwork2.conversion.impl.NumberConverter.convertValue(NumberConverter.java:41) > at > com.opensymphony.xwork2.conversion.impl.NumberConverter.convertValue(NumberConverter.java:54) > at > com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter.doConvertToNumber(XWorkBasicConverter.java:213) > at > com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter.convertValue(XWorkBasicConverter.java:116) > at > com.opensymphony.xwork2.conversion.impl.XWorkConverter.convertValue(XWorkConverter.java:340) > at > com.opensymphony.xwork2.ognl.OgnlTypeConverterWrapper.convertValue(OgnlTypeConverterWrapper.java:39) > at ognl.OgnlRuntime.getConvertedType(OgnlRuntime.java:1064) > at ognl.OgnlRuntime.getConvertedTypes(OgnlRuntime.java:1081) > at ognl.OgnlRuntime.getConvertedMethodAndArgs(OgnlRuntime.java:1107) > at ognl.OgnlRuntime.getAppropriateMethod(OgnlRuntime.java:1193) > at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1207) > at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:1478) > at > ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:85) > at > ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:162) > at > com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.setProperty(ObjectAccessor.java:27) > at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2315) > at > com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor.setProperty(CompoundRootAccessor.java:77) > at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2315) > at ognl.ASTProperty.setValueBody(ASTProperty.java:127) > at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220) > at ognl.SimpleNode.setValue(SimpleNode.java:301) > at ognl.Ognl.setValue(Ognl.java:737) > at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:217) > at > com.opensymphony.xwork2.ognl.OgnlValueStack.trySetValue(OgnlValueStack.java:186) > at > com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:173) > at > com.opensymphony.xwork2.ognl.OgnlValueStack.setParameter(OgnlValueStack.java:151) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:317) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:228) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:236) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:236) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:90) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:192) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.MessageStoreInterceptor.intercept(MessageStoreInterceptor.java:194) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) > at > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:511) > at > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) > at > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368) > at > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) > at > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > net.bwda.framework.security.BwdaFilterSecurityInterceptor.invoke(BwdaFilterSecurityInterceptor.java:53) > at > net.bwda.framework.security.BwdaFilterSecurityInterceptor.doFilter(BwdaFilterSecurityInterceptor.java:46) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:109) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169) > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:440) > at > org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) > at > org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at org.mortbay.jetty.Server.handle(Server.java:326) > at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) > at > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:926) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) > at > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410) > at > org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) > 2012-09-10 18:24:53,443 [5119480@qtp-29553921-9] WARN > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.warn(CommonsLogger.java:60)] > - Error setting expression 'id' with value '[Ljava.lang.String;@193358c' > ognl.MethodFailedException: Method "setId" failed for object > net.bwda.framework.entity.asset.UserResourceAccount@55d6f4 > [java.lang.NoSuchMethodException: > net.bwda.framework.entity.asset.UserResourceAccount.setId([Ljava.lang.String;)] > at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1289) > at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:1478) > at > ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:85) > at > ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:162) > at > com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.setProperty(ObjectAccessor.java:27) > at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2315) > at > com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor.setProperty(CompoundRootAccessor.java:77) > at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2315) > at ognl.ASTProperty.setValueBody(ASTProperty.java:127) > at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220) > at ognl.SimpleNode.setValue(SimpleNode.java:301) > at ognl.Ognl.setValue(Ognl.java:737) > at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:217) > at > com.opensymphony.xwork2.ognl.OgnlValueStack.trySetValue(OgnlValueStack.java:186) > at > com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:173) > at > com.opensymphony.xwork2.ognl.OgnlValueStack.setParameter(OgnlValueStack.java:151) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:317) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:228) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:236) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:236) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:90) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:192) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.MessageStoreInterceptor.intercept(MessageStoreInterceptor.java:194) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) > at > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:511) > at > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) > at > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368) > at > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) > at > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > net.bwda.framework.security.BwdaFilterSecurityInterceptor.invoke(BwdaFilterSecurityInterceptor.java:53) > at > net.bwda.framework.security.BwdaFilterSecurityInterceptor.doFilter(BwdaFilterSecurityInterceptor.java:46) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:109) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169) > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:440) > at > org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) > at > org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at org.mortbay.jetty.Server.handle(Server.java:326) > at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) > at > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:926) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) > at > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410) > at > org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) > Caused by: java.lang.NoSuchMethodException: > net.bwda.framework.entity.asset.UserResourceAccount.setId([Ljava.lang.String;) > at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1230) > ... 106 more > /-- Encapsulated exception ------------\ > java.lang.NoSuchMethodException: > net.bwda.framework.entity.asset.UserResourceAccount.setId([Ljava.lang.String;) > at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1230) > at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:1478) > at > ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:85) > at > ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:162) > at > com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.setProperty(ObjectAccessor.java:27) > at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2315) > at > com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor.setProperty(CompoundRootAccessor.java:77) > at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2315) > at ognl.ASTProperty.setValueBody(ASTProperty.java:127) > at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220) > at ognl.SimpleNode.setValue(SimpleNode.java:301) > at ognl.Ognl.setValue(Ognl.java:737) > at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:217) > at > com.opensymphony.xwork2.ognl.OgnlValueStack.trySetValue(OgnlValueStack.java:186) > at > com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:173) > at > com.opensymphony.xwork2.ognl.OgnlValueStack.setParameter(OgnlValueStack.java:151) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:317) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:228) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:236) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:236) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:90) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:192) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.MessageStoreInterceptor.intercept(MessageStoreInterceptor.java:194) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) > at > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:511) > at > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) > at > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368) > at > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) > at > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > net.bwda.framework.security.BwdaFilterSecurityInterceptor.invoke(BwdaFilterSecurityInterceptor.java:53) > at > net.bwda.framework.security.BwdaFilterSecurityInterceptor.doFilter(BwdaFilterSecurityInterceptor.java:46) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:109) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169) > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:440) > at > org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) > at > org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at org.mortbay.jetty.Server.handle(Server.java:326) > at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) > at > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:926) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) > at > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410) > at > org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) > \--------------------------------------/ > 2012-09-10 18:24:53,725 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Unable to find text for key 'invalid.fieldvalue.id' in class > 'net.bwda.framework.web.asset.UserResourceAccountAction' and locale 'zh_CN' > 2012-09-10 18:24:53,726 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Property: null > 2012-09-10 18:24:53,726 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Class: com.opensymphony.xwork2.util.CompoundRoot > 2012-09-10 18:24:53,727 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - field-level type converter for property [null] = none found > 2012-09-10 18:24:53,727 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - global-level type converter for property [null] = none found > 2012-09-10 18:24:53,727 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - falling back to default type converter > [com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@957b67] > 2012-09-10 18:24:53,728 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Creating converter with name [string] > 2012-09-10 18:24:53,728 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Converter of Type > [com.opensymphony.xwork2.conversion.impl.StringConverter] with name [string], > created! > 2012-09-10 18:24:53,731 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Validating /userresourceaccount/deleteResourceAccountByUserId with method > deleteResourceAccountByUserId. > 2012-09-10 18:24:53,973 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Invoking validate() on action > net.bwda.framework.web.asset.UserResourceAccountAction@134b16b > 2012-09-10 18:24:53,974 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - cannot find method [validateDeleteResourceAccountByUserId] in action > [net.bwda.framework.web.asset.UserResourceAccountAction@134b16b] > 2012-09-10 18:24:53,974 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - cannot find method [validateDoDeleteResourceAccountByUserId] in action > [net.bwda.framework.web.asset.UserResourceAccountAction@134b16b] > 2012-09-10 18:24:53,975 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Errors on action > net.bwda.framework.web.asset.UserResourceAccountAction@134b16b, returning > result name 'input' > 2012-09-10 18:24:54,394 [5119480@qtp-29553921-9] ERROR > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.error(CommonsLogger.java:38)] > - Could not find action or result > /ica-portal/userresourceaccount/deleteResourceAccountByUserId.action?id=3571, > No result defined for action > net.bwda.framework.web.asset.UserResourceAccountAction and result input > at > com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:376) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:278) > at > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265) > at > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:236) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:236) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:236) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:90) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:192) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.interceptor.MessageStoreInterceptor.intercept(MessageStoreInterceptor.java:194) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) > at > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) > at > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:511) > at > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) > at > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368) > at > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) > at > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > net.bwda.framework.security.BwdaFilterSecurityInterceptor.invoke(BwdaFilterSecurityInterceptor.java:53) > at > net.bwda.framework.security.BwdaFilterSecurityInterceptor.doFilter(BwdaFilterSecurityInterceptor.java:46) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:109) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) > at > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169) > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:440) > at > org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) > at > org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at org.mortbay.jetty.Server.handle(Server.java:326) > at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) > at > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:926) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) > at > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410) > at > org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) > 2012-09-10 18:24:54,401 [5119480@qtp-29553921-9] DEBUG > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.debug(CommonsLogger.java:68)] > - Checking ConfigurationProviders for reload. > 2012-09-10 18:24:54,442 [5119480@qtp-29553921-9] INFO > [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.info(CommonsLogger.java:42)] > - > {quote} > the url > {color:green}/userresourceaccount/deleteResourceAccountByUserId.action?id=3571,{color} > can't mapped Foo.action > but if i use this > {color:green}/userresourceaccount/deleteResourceAccountByUserId.action?id=,3571{color} > mapped > i see code like below: > {code:title=NumberConverter.java||borderStyle=dashed} > String stringValue = (String) value; > if (!toType.isPrimitive() && (stringValue == null || > stringValue.length() == 0)) { > return null; > } > NumberFormat numFormat = > NumberFormat.getInstance(getLocale(context)); > ParsePosition parsePos = new ParsePosition(0); > if (isIntegerType(toType)) { > numFormat.setParseIntegerOnly(true); > } > numFormat.setGroupingUsed(true); > Number number = numFormat.parse(stringValue, parsePos); > if (parsePos.getIndex() != stringValue.length()) { > throw new XWorkException("Unparseable number: \"" + > stringValue + "\" at position " > + parsePos.getIndex()); > } else { > if (!isInRange(number, stringValue, toType)) > throw new XWorkException("Overflow or underflow > casting: \"" + stringValue + "\" into class " + number.getClass().getName()); > value = super.convertValue(context, number, toType); > } > {code} > throw new XWorkException caused "No result defined for action > net.bwda.framework.web.asset.UserResourceAccountAction and result input" -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira