Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 使用SpringMVC+;弹簧腹板流_Ajax_Spring_Spring Mvc_Spring Webflow 2 - Fatal编程技术网

Ajax 使用SpringMVC+;弹簧腹板流

Ajax 使用SpringMVC+;弹簧腹板流,ajax,spring,spring-mvc,spring-webflow-2,Ajax,Spring,Spring Mvc,Spring Webflow 2,作为一种渐进式的增强,我试图在SpringWeb流中应用AJAX。我正在使用: Spring版本4.1.3 Tiles版本2.2.2 SWF版本2.4.1 虽然我对我第一次尝试实现SWF、Tiles和AJAX连接并不完全有信心,但在调用、执行并返回成功的控制器方法时,SWF evaluate操作似乎正在正确执行。在呈现视图时,我遇到了一个异常,并且倾向于配置问题,或者在尝试调试一整晚之后,我正在抓住救命稻草。如果需要,我将发布我的流、jsp、ajax脚本和控制器 下面是完整的调试和堆栈跟踪

作为一种渐进式的增强,我试图在SpringWeb流中应用AJAX。我正在使用:

  • Spring版本4.1.3
  • Tiles版本2.2.2
  • SWF版本2.4.1
虽然我对我第一次尝试实现SWF、Tiles和AJAX连接并不完全有信心,但在调用、执行并返回成功的控制器方法时,SWF evaluate操作似乎正在正确执行。在呈现视图时,我遇到了一个异常,并且倾向于配置问题,或者在尝试调试一整晚之后,我正在抓住救命稻草。如果需要,我将发布我的流、jsp、ajax脚本和控制器

下面是完整的调试和堆栈跟踪

15:57:11.918 [tomcat-http--15] DEBUG o.s.w.execution.AnnotatedAction - Clearing action execution attributes map[[empty]]
15:57:11.918 [tomcat-http--15] DEBUG o.s.webflow.execution.ActionExecutor - Finished executing [EvaluateAction@373ffd expression = checkoutController.updateShipping(flowScope.checkoutForm, externalContext), resultExpression = [null]]; result = success
15:57:11.918 [tomcat-http--15] DEBUG o.s.webflow.execution.ActionExecutor - Executing [RenderAction@14a2f78 fragments = array<Expression>[shipping-table]]
15:57:11.918 [tomcat-http--15] DEBUG o.s.w.execution.AnnotatedAction - Putting action execution attributes map[[empty]]
15:57:11.918 [tomcat-http--15] DEBUG o.s.w.execution.AnnotatedAction - Clearing action execution attributes map[[empty]]
15:57:11.918 [tomcat-http--15] DEBUG o.s.webflow.execution.ActionExecutor - Finished executing [RenderAction@14a2f78 fragments = array<Expression>[shipping-table]]; result = success
15:57:11.918 [tomcat-http--15] DEBUG o.s.webflow.engine.Transition - Executing [Transition@1728a9d on = updateShipping, to = [null]]
15:57:11.918 [tomcat-http--15] DEBUG o.s.webflow.engine.ViewState - Rendering + [ServletMvcView@1544f9e view = org.springframework.webflow.mvc.view.FlowAjaxTilesView: name 'checkout/shippingOptions'; URL [checkout/shippingOptions]]
15:57:11.918 [tomcat-http--15] DEBUG o.s.webflow.engine.ViewState -   Flash scope = map['flowRenderFragments' -> array<String>['shipping-table']]
15:57:11.918 [tomcat-http--15] DEBUG o.s.webflow.engine.ViewState -   Messages = [DefaultMessageContext@ea5678 sourceMessages = map[[null] -> list[[empty]]]]
15:57:11.918 [tomcat-http--15] DEBUG o.s.webflow.mvc.view.AbstractMvcView - Rendering MVC [org.springframework.webflow.mvc.view.FlowAjaxTilesView: name 'checkout/shippingOptions'; URL [checkout/shippingOptions]] with model map [{flowRequestContext=[RequestControlContextImpl@d2f858 externalContext = org.springframework.webflow.mvc.servlet.MvcExternalContext@c29d0d, currentEvent = updateShipping, requestScope = map[[empty]], attributes = map[[empty]], messageContext = [DefaultMessageContext@ea5678 sourceMessages = map[[null] -> list[[empty]]]], flowExecution = [FlowExecutionImpl@ae672a flow = 'checkout', flowSessions = list[[FlowSessionImpl@1f6fef4 flow = 'checkout', state = 'shippingOptions', scope = map['viewScope' -> map[[empty]], 'checkoutForm' -> com.twelves.bazaar.web.form.CheckoutForm@d4c1e5]]]]], flashScope=map['flowRenderFragments' -> array<String>['shipping-table']], org.springframework.validation.BindingResult.checkoutForm=org.springframework.webflow.mvc.view.BindingModel: 0 errors, currentUser=org.springframework.security.authentication.UsernamePasswordAuthenticationToken@8c3df917: Principal: com.twelves.bazaar.web.security.BazaarUserDetails@6b213b; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@fffe3f86: RemoteIpAddress: 127.0.0.1; SessionId: D094AF98D22C71E3C35B5D8EDCEA3930; Granted Authorities: ROLE_ROOT, PERM_CREATE_ORDER, PERM_MANAGE_CONTENT, PERM_ROOT, checkoutForm=com.twelves.bazaar.web.form.CheckoutForm@d4c1e5, flowRenderFragments=[Ljava.lang.String;@dc5ab2, flowExecutionKey=e1s2, flowExecutionUrl=/bazaar-app/checkout?execution=e1s2, viewScope=map[[empty]]}]
15:57:11.919 [tomcat-http--15] TRACE o.s.w.mvc.view.FlowAjaxTilesView - Rendering view with name 'checkout/shippingOptions' with model {flowRequestContext=[RequestControlContextImpl@d2f858 externalContext = org.springframework.webflow.mvc.servlet.MvcExternalContext@c29d0d, currentEvent = updateShipping, requestScope = map[[empty]], attributes = map[[empty]], messageContext = [DefaultMessageContext@ea5678 sourceMessages = map[[null] -> list[[empty]]]], flowExecution = [FlowExecutionImpl@ae672a flow = 'checkout', flowSessions = list[[FlowSessionImpl@1f6fef4 flow = 'checkout', state = 'shippingOptions', scope = map['viewScope' -> map[[empty]], 'checkoutForm' -> com.twelves.bazaar.web.form.CheckoutForm@d4c1e5]]]]], flashScope=map['flowRenderFragments' -> array<String>['shipping-table']], org.springframework.validation.BindingResult.checkoutForm=org.springframework.webflow.mvc.view.BindingModel: 0 errors, currentUser=org.springframework.security.authentication.UsernamePasswordAuthenticationToken@8c3df917: Principal: com.twelves.bazaar.web.security.BazaarUserDetails@6b213b; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@fffe3f86: RemoteIpAddress: 127.0.0.1; SessionId: D094AF98D22C71E3C35B5D8EDCEA3930; Granted Authorities: ROLE_ROOT, PERM_CREATE_ORDER, PERM_MANAGE_CONTENT, PERM_ROOT, checkoutForm=com.twelves.bazaar.web.form.CheckoutForm@d4c1e5, flowRenderFragments=[Ljava.lang.String;@dc5ab2, flowExecutionKey=e1s2, flowExecutionUrl=/bazaar-app/checkout?execution=e1s2, viewScope=map[[empty]]} and static attributes {}
15:57:11.919 [tomcat-http--15] DEBUG o.s.w.mvc.view.FlowAjaxTilesView - Added model object 'flowRequestContext' of type [org.springframework.webflow.engine.impl.RequestControlContextImpl] to request in view with name 'checkout/shippingOptions'
15:57:11.919 [tomcat-http--15] DEBUG o.s.w.mvc.view.FlowAjaxTilesView - Added model object 'flashScope' of type [org.springframework.webflow.core.collection.LocalAttributeMap] to request in view with name 'checkout/shippingOptions'
15:57:11.919 [tomcat-http--15] DEBUG o.s.w.mvc.view.FlowAjaxTilesView - Added model object 'org.springframework.validation.BindingResult.checkoutForm' of type [org.springframework.webflow.mvc.view.BindingModel] to request in view with name 'checkout/shippingOptions'
15:57:11.919 [tomcat-http--15] DEBUG o.s.w.mvc.view.FlowAjaxTilesView - Added model object 'currentUser' of type [org.springframework.security.authentication.UsernamePasswordAuthenticationToken] to request in view with name 'checkout/shippingOptions'
15:57:11.919 [tomcat-http--15] DEBUG o.s.w.mvc.view.FlowAjaxTilesView - Added model object 'checkoutForm' of type [com.twelves.bazaar.web.form.CheckoutForm] to request in view with name 'checkout/shippingOptions'
15:57:11.919 [tomcat-http--15] DEBUG o.s.w.mvc.view.FlowAjaxTilesView - Added model object 'flowRenderFragments' of type [[Ljava.lang.String;] to request in view with name 'checkout/shippingOptions'
15:57:11.919 [tomcat-http--15] DEBUG o.s.w.mvc.view.FlowAjaxTilesView - Added model object 'flowExecutionKey' of type [java.lang.String] to request in view with name 'checkout/shippingOptions'
15:57:11.919 [tomcat-http--15] DEBUG o.s.w.mvc.view.FlowAjaxTilesView - Added model object 'flowExecutionUrl' of type [java.lang.String] to request in view with name 'checkout/shippingOptions'
15:57:11.919 [tomcat-http--15] DEBUG o.s.w.mvc.view.FlowAjaxTilesView - Added model object 'viewScope' of type [org.springframework.webflow.core.collection.LocalAttributeMap] to request in view with name 'checkout/shippingOptions'
15:57:11.942 [tomcat-http--15] DEBUG o.s.w.c.i.SessionBindingConversationManager - Unlocking conversation 1
15:57:11.942 [tomcat-http--15] TRACE o.s.web.servlet.DispatcherServlet - Cleared thread-bound request context: SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.context.HttpSessionSecurityContextRepository$Servlet3SaveToSessionRequestWrapper@36252c]
15:57:11.946 [tomcat-http--15] DEBUG o.s.web.servlet.DispatcherServlet - Could not complete request
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.StackOverflowError
    at org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1287) ~[spring-webmvc-4.1.3.RELEASE.jar:4.1.3.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:961) ~[spring-webmvc-4.1.3.RELEASE.jar:4.1.3.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877) ~[spring-webmvc-4.1.3.RELEASE.jar:4.1.3.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) [spring-webmvc-4.1.3.RELEASE.jar:4.1.3.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868) [spring-webmvc-4.1.3.RELEASE.jar:4.1.3.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) [servlet-api.jar:na]
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) [spring-webmvc-4.1.3.RELEASE.jar:4.1.3.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) [servlet-api.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) [catalina.jar:7.0.42.A]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.42.A]
    at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) [urlrewritefilter-4.0.3.jar:4.0.3]
    at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) [urlrewritefilter-4.0.3.jar:4.0.3]
    at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) [urlrewritefilter-4.0.3.jar:4.0.3]
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394) [urlrewritefilter-4.0.3.jar:4.0.3]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) [catalina.jar:7.0.42.A]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.42.A]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.1.3.RELEASE.jar:4.1.3.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:144) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) [spring-web-4.1.3.RELEASE.jar:4.1.3.RELEASE]
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) [spring-web-4.1.3.RELEASE.jar:4.1.3.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) [catalina.jar:7.0.42.A]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.42.A]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) [catalina.jar:7.0.42.A]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) [catalina.jar:7.0.42.A]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) [catalina.jar:7.0.42.A]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) [catalina.jar:7.0.42.A]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) [catalina.jar:7.0.42.A]
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) [catalina.jar:7.0.42.A]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) [catalina.jar:7.0.42.A]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) [catalina.jar:7.0.42.A]
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023) [tomcat-coyote.jar:7.0.42.A]
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) [tomcat-coyote.jar:7.0.42.A]
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) [tomcat-coyote.jar:7.0.42.A]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_71]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_71]
    at java.lang.Thread.run(Thread.java:745) [na:1.7.0_71]
Caused by: java.lang.StackOverflowError: null
    at javax.servlet.ServletRequestWrapper.getAttribute(ServletRequestWrapper.java:76) ~[servlet-api.jar:3.0.FR]
    at javax.servlet.ServletRequestWrapper.getAttribute(ServletRequestWrapper.java:76) ~[servlet-api.jar:3.0.FR]
    at javax.servlet.ServletRequestWrapper.getAttribute(ServletRequestWrapper.java:76) ~[servlet-api.jar:3.0.FR]
    at org.springframework.web.servlet.i18n.CookieLocaleResolver.parseLocaleCookieIfNecessary(CookieLocaleResolver.java:150) ~[spring-webmvc-4.1.3.RELEASE.jar:4.1.3.RELEASE]
    at org.springframework.web.servlet.i18n.CookieLocaleResolver.resolveLocale(CookieLocaleResolver.java:130) ~[spring-webmvc-4.1.3.RELEASE.jar:4.1.3.RELEASE]
    at org.springframework.web.servlet.support.RequestContextUtils.getLocale(RequestContextUtils.java:121) ~[spring-webmvc-4.1.3.RELEASE.jar:4.1.3.RELEASE]
    at org.springframework.web.servlet.view.tiles2.SpringLocaleResolver.resolveLocale(SpringLocaleResolver.java:54) ~[spring-webmvc-4.1.3.RELEASE.jar:4.1.3.RELEASE]
    at org.apache.tiles.definition.UnresolvingLocaleDefinitionsFactory.getDefinition(UnresolvingLocaleDefinitionsFactory.java:102) ~[tiles-core-2.2.2.jar:2.2.2]
    at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:364) ~[tiles-core-2.2.2.jar:2.2.2]
    at org.apache.tiles.impl.BasicTilesContainer.isValidDefinition(BasicTilesContainer.java:706) ~[tiles-core-2.2.2.jar:2.2.2]
    at org.apache.tiles.impl.BasicTilesContainer.isValidDefinition(BasicTilesContainer.java:350) ~[tiles-core-2.2.2.jar:2.2.2]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:169) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
    at org.springframework.js.ajax.tiles2.AjaxTilesView.flattenAttributeMap(AjaxTilesView.java:173) ~[spring-js-2.4.1.RELEASE.jar:2.4.1.RELEASE]
15:57:11.918[tomcat http--15]调试o.s.w.execution.AnnotatedAction-清除操作执行属性映射[[empty]]
15:57:11.918[tomcat http--15]调试o.s.webflow.execution.ActionExecutor-已完成执行[EvaluateAction@373ffd表达式=checkoutController.updateShipping(flowScope.checkoutForm,externalContext),结果表达式=[null]];结果=成功
15:57:11.918[tomcat http--15]调试o.s.webflow.execution.ActionExecutor-正在执行[RenderAction@14a2f78片段=数组[传送表]]
15:57:11.918[tomcat http--15]调试o.s.w.execution.AnnotatedAction-放置操作执行属性映射[[empty]]
15:57:11.918[tomcat http--15]调试o.s.w.execution.AnnotatedAction-清除操作执行属性映射[[empty]]
15:57:11.918[tomcat http--15]调试o.s.webflow.execution.ActionExecutor-已完成执行[RenderAction@14a2f78片段=数组[传送表];结果=成功
15:57:11.918[tomcat http--15]调试o.s.webflow.engine.Transition-正在执行[Transition@1728a9don=updateShipping,to=[null]]
15:57:11.918[tomcat http--15]调试o.s.webflow.engine.ViewState-Rendering+[ServletMvcView@1544f9eview=org.springframework.webflow.mvc.view.FlowAjaxTilesView:name'checkout/shippingOptions';URL[checkout/shippingOptions]]
15:57:11.918[tomcat http--15]调试o.s.webflow.engine.ViewState-Flash scope=map['flowRenderFragments'->数组['shipping-table']
15:57:11.918[tomcat http--15]调试o.s.webflow.engine.ViewState-消息=[DefaultMessageContext@ea5678sourceMessages=map[[null]->list[[empty]]]]
15:57:11.918[tomcat http--15]调试o.s.webflow.mvc.view.AbstractMvcView-呈现mvc[org.springframework.webflow.mvc.view.FlowAjaxTilesView:name'checkout/shippingOptions';URL[checkout/shippingOptions]]和模型映射[{flowRequestContext]=[RequestControlContextImpl@d2f858externalContext=org.springframework.webflow.mvc.servlet。MvcExternalContext@c29d0d,currentEvent=updateShipping,requestScope=map[[empty]],attributes=map[[empty]],messageContext=[DefaultMessageContext@ea5678sourceMessages=map[[null]->list[[empty]]]],flowExecution=[FlowExecutionImpl@ae672a流程='签出',流程会话=列表[[FlowSessionImpl@1f6fef4flow='checkout',state='shippingOptions',scope=map['viewScope'->map[[empty]],'checkoutForm'->com.twevels.bazaar.web.form。CheckoutForm@d4c1e5]]]]],flashScope=map['flowRenderFragments'->数组['shipping-table']],org.springframework.validation.BindingResult.checkoutForm=org.springframework.webflow.mvc.view.BindingModel:0错误,currentUser=org.springframework.security.authentication。UsernamePasswordAuthenticationToken@8c3df917:负责人:com.twevels.bazaar.web.security。BazaarUserDetails@6b213b;凭据:[受保护];已验证:true;详细信息:org.springframework.security.web.authentication。WebAuthenticationDetails@fffe3f86:RemoteIP地址:127.0.0.1;会话ID:D094AF98D22C71E3C35B5D8EDCEA3930;授予的权限:角色根、永久创建顺序、永久管理内容、永久根、checkoutForm=com.tweves.bazaar.web.form。CheckoutForm@d4c1e5,flowRenderFragments=[Ljava.lang.String;@dc5ab2,flowExecutionKey=e1s2,flowExecutionUrl=/bazaar app/checkout?execution=e1s2,viewScope=map[[empty]]}]
15:57:11.919[tomcat http--15]跟踪o.s.w.mvc.view.FlowAjaxTilesView-使用模型{flowRequestContext]呈现名为“签出/发货选项”的视图=[RequestControlContextImpl@d2f858externalContext=org.springframework.webflow.mvc.servlet。MvcExternalContext@c29d0d,currentEvent=updateShipping,requestScope=map[[empty]],attributes=map[[empty]],messageContext=[DefaultMessageContext@ea5678sourceMessages=map[[null]->list[[empty]]]],flowExecution=[FlowExecutionImpl@ae672a流程='签出',流程会话=列表[[FlowSessionImpl@1f6fef4流程='checkout',状态='shippingOptions',范围=映射['viewScope'->映射[[empty]],“checkoutForm”->com.twevels.bazaar.web.form。CheckoutForm@d4c1e5]]]]],flashScope=map['flowRenderFragments'->数组['shipping-table']],org.springframework.validation.BindingResult.checkoutForm=org.springframework.webflow.mvc.view.BindingModel:0错误,currentUser=org.springframework.security.authentication。UsernamePasswordAuthenticationToken@8c3df917:负责人:com.twevels.bazaar.web.security。BazaarUserDetails@6b213b;凭据:[受保护];已验证:true;详细信息:org.springframework.security.web.authentication。WebAuthenticationDetails@fffe3f86:RemoteIP地址:127.0.0.1;会话ID:D094AF98D22C71E3C35B5D8EDCEA3930;授予的权限:角色根、永久创建顺序、永久管理内容、永久根、checkoutForm=com.tweves.bazaar.web.form。CheckoutForm@d4c1e5,flowRenderFragments=[Ljava.lang.String;@dc5ab2,flowExecutionKey=e1s2,flowExecutionUrl=/bazaar app/checkout?execution=e1s2,viewScope=map[[empty]]}和静态属性{}
15:57:11.919[tomcat http--15]调试o.s.w.mvc.view.FlowAjaxTilesView-添加了类型为[org.springframework.webflow.engine.impl.RequestControlContextImpl]的模型对象“flowRequestContext”,以请求名为“checkout/shippingOptions”的视图
15:57:11.919[tomcat http--15]调试o.s.w.mvc.view.FlowAjaxTilesView-添加了[org.sprin]类型的模型对象“flashScope”