Can you post the whole log? Maybe there are some warnings 2014-12-16 14:48 GMT+01:00 Roger Varley <roger.var...@googlemail.com>: > Hi > > After upgrading to 2.3.20 from 2.3.16.1 the following .jsp snippet fails to > compile. Reverting back to 2.3.16.1 and it starts to work again. > > <s:action name="list-platforms" var="list" /> > <s:select list="#list.platforms" listKey="%{id}" > listValue="%{platformName}" name="platformId" > value="platformId" > headerKey="-1" headerValue="--- Select Platform ---" /> > > org.apache.jasper.JasperException: tag 'select', field 'list', name > 'platformId': The requested list key '#list.platforms' could not be > resolved as a collection/array/map/enumeration/iterator type. Example: > people or people.{name} - [unknown location] > > org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:570) > > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:457) > > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391) > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) > javax.servlet.http.HttpServlet.service(HttpServlet.java:722) > > org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:164) > > org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:188) > > com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:369) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:273) > > org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265) > > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:125) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:253) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:139) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) > > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:564) > > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81) > > org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:93) > > com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129) > > com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77) > > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:91) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) > > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) > > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) > > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) > > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) > > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) > > *root cause* > > tag 'select', field 'list', name 'platformId': The requested list key > '#list.platforms' could not be resolved as a > collection/array/map/enumeration/iterator type. Example: people or > people.{name} - [unknown location] > org.apache.struts2.components.Component.fieldError(Component.java:257) > org.apache.struts2.components.Component.findValue(Component.java:350) > > org.apache.struts2.components.ListUIBean.evaluateExtraParams(ListUIBean.java:82) > > org.apache.struts2.components.Select.evaluateExtraParams(Select.java:105) > org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:893) > org.apache.struts2.components.UIBean.end(UIBean.java:535) > > org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42) > > org.apache.jsp.WEB_002dINF.content.admin.ccf_002dpreset_002dtask_002dmaintenance_jsp._jspx_meth_s_005fselect_005f0(ccf_002dpreset_002dtask_002dmaintenance_jsp.java:187) > > org.apache.jsp.WEB_002dINF.content.admin.ccf_002dpreset_002dtask_002dmaintenance_jsp._jspService(ccf_002dpreset_002dtask_002dmaintenance_jsp.java:112) > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) > javax.servlet.http.HttpServlet.service(HttpServlet.java:722) > > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419) > > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391) > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) > javax.servlet.http.HttpServlet.service(HttpServlet.java:722) > > org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:164) > > org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:188) > > com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:369) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:273) > > org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265) > > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:125) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:253) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:139) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244) > > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) > > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:564) > > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81) > > org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:93) > > com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129) > > com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77) > > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:91) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) > > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) > > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125) > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) > > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) > > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) > > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
--------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org