Hi Dale this is the applicable code in my copy of optiontransferselect.ftl <#if parameters.doubleListValue?exists><#t/> <#assign doubleItemValue = stack.findString(parameters.doubleListValue) /><#t/> <#else><#t/> <#assign doubleItemValue = stack.findString('top') /><#t/> </#if><#t/> so..supposedly the parameters.doubleListValue has to exist before stack.findString uses it
is this what you have? M-- ----- Original Message ----- From: "Dale Newfield" <[EMAIL PROTECTED]> To: "Struts Users Mailing List" <user@struts.apache.org> Sent: Saturday, December 15, 2007 6:36 PM Subject: Re: [struts][2.0.11] optiontransferselect limit? > Martin Gainty wrote: > > second time Ive seen error 'cannot locate findString' > > It's not that it can't find findString, it's that the string being found > is not there, so findString() returns an undefined value that cannot > then be assigned to a variable. > > Error on line 264, column 13 in template/simple/optiontransferselect.ftl > stack.findString(parameters.doubleListValue) is undefined. > It cannot be assigned to doubleItemValue > The problematic instruction: > ---------- > ==> assignment: > doubleItemValue=stack.findString(parameters.doubleListValue) [on line > 264, column 13 in template/simple/optiontransferselect.ftl] > in user-directive s.iterator [on line 256, column 9 in > template/simple/optiontransferselect.ftl] > in include > "/${parameters.templateDir}/simple/optiontransferselect.ftl" [on line > 24, column 1 in template/xhtml/optiontransferselect.ftl] > ---------- > > Java backtrace for programmers: > ---------- > freemarker.core.InvalidReferenceException: Error on line 264, column 13 > in template/simple/optiontransferselect.ftl > stack.findString(parameters.doubleListValue) is undefined. > It cannot be assigned to doubleItemValue > at freemarker.core.Assignment.accept(Assignment.java:111) > at freemarker.core.Environment.visit(Environment.java:196) > at freemarker.core.IfBlock.accept(IfBlock.java:82) > at freemarker.core.Environment.visit(Environment.java:196) > at freemarker.core.MixedContent.accept(MixedContent.java:92) > at freemarker.core.Environment.visit(Environment.java:196) > at freemarker.core.Environment.visit(Environment.java:233) > at freemarker.core.UnifiedCall.accept(UnifiedCall.java:116) > at freemarker.core.Environment.visit(Environment.java:196) > at freemarker.core.MixedContent.accept(MixedContent.java:92) > at freemarker.core.Environment.visit(Environment.java:196) > at freemarker.core.Environment.include(Environment.java:1375) > at freemarker.core.Include.accept(Include.java:155) > at freemarker.core.Environment.visit(Environment.java:196) > at freemarker.core.MixedContent.accept(MixedContent.java:92) > at freemarker.core.Environment.visit(Environment.java:196) > at freemarker.core.Environment.process(Environment.java:176) > at freemarker.template.Template.process(Template.java:232) > at > org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTempla te(FreemarkerTemplateEngine.java:168) > at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530) > at org.apache.struts2.components.UIBean.end(UIBean.java:484) > at > org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSuppor t.java:43) > at > org.apache.jsp.WEB_002dINF.pages.communityForm_jsp._jspx_meth_s_005foptiontr ansferselect_005f0(communityForm_jsp.java:931) > at > org.apache.jsp.WEB_002dINF.pages.communityForm_jsp._jspx_meth_s_005fform_005 f0(communityForm_jsp.java:403) > at > org.apache.jsp.WEB_002dINF.pages.communityForm_jsp.access$0(communityForm_js p.java:286) > at > org.apache.jsp.WEB_002dINF.pages.communityForm_jsp$communityForm_jspHelper.i nvoke0(communityForm_jsp.java:1034) > at > org.apache.jsp.WEB_002dINF.pages.communityForm_jsp$communityForm_jspHelper.i nvoke(communityForm_jsp.java:1056) > at org.apache.jsp.tag.web.module_tag.doTag(module_tag.java:49) > at > org.apache.jsp.WEB_002dINF.pages.communityForm_jsp._jspx_meth_seenaboutTags_ 005fmodule_005f0(communityForm_jsp.java:282) > at > org.apache.jsp.WEB_002dINF.pages.communityForm_jsp._jspService(communityForm _jsp.java:148) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3 28) > at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315) > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:269) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:188) > at > org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.jav a:413) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:188) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:264) > at > org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecur ityInterceptor.java:97) > at > org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSec urityInterceptor.java:72) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:274) > at > org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslatio nFilter.java:110) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:274) > at > org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(Ano nymousProcessingFilter.java:125) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:274) > at > org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(Remember MeProcessingFilter.java:142) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:274) > at > org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(S ecurityContextHolderAwareRequestFilter.java:81) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:274) > at > org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFil ter.java:217) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:274) > at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:274) > at > org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpS essionContextIntegrationFilter.java:153) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:274) > at > org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148) > at > org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:188) > at > org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCle anUp.java:99) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:188) > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. java:691) > at > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDis patcher.java:469) > at > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch er.java:403) > at > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher java:301) > at > org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispa tcherResult.java:139) > at > org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSuppor t.java:178) > at > com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionI nvocation.java:348) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:253) > at > com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(D efaultWorkflowInterceptor.java:221) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method FilterInterceptor.java:86) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method FilterInterceptor.java:88) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(Con versionErrorInterceptor.java:123) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(St aticParametersInterceptor.java:105) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(Parame tersInterceptor.java:167) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method FilterInterceptor.java:86) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDr ivenInterceptor.java:74) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingIn terceptor.java:115) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareIn terceptor.java:121) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method FilterInterceptor.java:86) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletCon figInterceptor.java:170) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(Parame tersInterceptor.java:167) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method FilterInterceptor.java:86) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at > com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nIntercepto r.java:143) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterce ptor.java:83) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at > com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasIntercep tor.java:123) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at > org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(Prof ilingActivationInterceptor.java:107) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at > org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(Debu ggingInterceptor.java:206) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(Ex ceptionMappingInterceptor.java:176) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50) > at > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:504) > at > org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.jav a:419) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:188) > at > org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter java:125) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:188) > at > com.spiralentertainment.webapp.filter.LocaleFilter.doFilterInternal(LocaleFi lter.java:64) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestF ilter.java:75) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:188) > at > com.opensymphony.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.ja va:56) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:188) > at > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterI nternal(OpenSessionInViewFilter.java:198) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestF ilter.java:75) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:188) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:264) > at > org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecur ityInterceptor.java:107) > at > org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSec urityInterceptor.java:72) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:274) > at > org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslatio nFilter.java:110) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:274) > at > org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(Ano nymousProcessingFilter.java:125) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:274) > at > org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(Remember MeProcessingFilter.java:142) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:274) > at > org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(S ecurityContextHolderAwareRequestFilter.java:81) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:274) > at > org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFil ter.java:217) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:274) > at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:274) > at > org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpS essionContextIntegrationFilter.java:229) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:274) > at > org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148) > at > org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:188) > at > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(Char acterEncodingFilter.java:96) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestF ilter.java:75) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:188) > at > org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCle anUp.java:99) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:188) > at > org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:130 ) > at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:107) > at > org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.jav a:78) > at > org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter java:383) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:188) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:210) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:174) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127 ) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117 ) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :108) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processC onnection(Http11BaseProtocol.java:665) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav a:528) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo rkerThread.java:81) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:685) > at java.lang.Thread.run(Thread.java:613) > > > Thanks, > > M-- > > ----- Original Message ----- > > From: "Dale Newfield" <[EMAIL PROTECTED]> > > To: "Struts Users Mailing List" <user@struts.apache.org> > > Sent: Saturday, December 15, 2007 2:05 PM > > Subject: Re: [struts][2.0.11] optiontransferselect limit? > > > > > >> Dale Newfield wrote: > >>> I've got a page that uses s:optiontransferselect, and I'm pretty happy > >>> with it, but I'm now trying to scale up this app, and just over 1000 > >>> entries and the freemarker template bombs out: > >> I've got a different solution in mind that should work when this gets > > large. > >>> freemarker.core.InvalidReferenceException: Error on line 264, column 13 > >>> in template/simple/optiontransferselect.ftl > >>> stack.findString(parameters.doubleListValue) is undefined. > >>> It cannot be assigned to doubleItemValue > >> I just realized that they problem is probably not with freemarker--I bet > >> this is the right error message, as when the collection gets big I bet > >> one is being added that is not correctly initialized and the appropriate > >> field is indeed not there. I think the freemarker core should be > >> configurable so that it can log the error and move on rather than fail > >> the way it is. Tomorrow I'll try the latest freemarker, and if > >> necessary go file a ticket with them (w/patches if they're lucky :-) . > >> Alternately I might have to alter the struts2 freemarker template to > >> catch the exception and log it and move on, or failing that in my code I > >> could call the s:optiontransferselect tag inside a try/catch block and > >> do it myself. Time will tell. > >> > >>> The actual number is confusing: It works with 1125 total in list2 (with > >>> 2 selected and instead in list1), but with 1126 possible values it > >>> crashes. Usually the size at which something breaks is indicative, but > >>> the only thing I can think of is 1126 -2 (selected) = 1024 + 100 ? > >> I confirmed the way this is working, and yes, the magic number is it > >> breaks at 1124. I've got two possibilities: Either HashSet is failing > >> in some way, or more likely the lazy loaded hibernate collection used to > >> fill that HashSet is doing something wonky when it gets that big. I'd > >> bet the latter. > >> > >> -Dale > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]