Thanks for the reply. Very informative. I have not heard of UEL yet, can you send me some references. I know about about EL. I tried the escape as you suggested. But this fails with no errors and no output.
any suggestions? Wes Wannemacher wrote: > > My guess is that UEL is enabled in your app server. The quick fix > would be to escape the # character - > > list="\#{'foo':'foovalue','bar':'barvalue'}" > > The problem is that UEL and OGNL both use #{, but OGNL isn't evaluated > until after UEL attempts to evaluate it. It's a known issue, but there > is nothing that can be done within the Struts2/XWork codebase to > account for it. You just have to be careful when using anonymous Maps. > > -Wes > > > > On 12/5/07, J&M <[EMAIL PROTECTED]> wrote: >> >> Can anyone explain to me why the following select tag statement fails: >> >> <s:select label="label" name="name" list="#{'foo':'foovalue', >> 'bar':'barvalue'}" /> >> >> I get the following massive trace: (note that using the "advanced" >> version >> as stated on >> the opensymphony link below - with >> list="[EMAIL PROTECTED]@{'Regular' : 'Regular', 'Decaf': >> 'Decaf'}}" - does work ): >> >> avax.servlet.ServletException: org.apache.jasper.JasperException: >> PWC6033: >> Unable to compile class for JSP >> at >> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515) >> at >> org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at >> org.appfuse.webapp.filter.StaticFilter.doFilterInternal(StaticFilter.java:106) >> at >> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at >> com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119) >> at >> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at >> org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at >> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164) >> at >> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141) >> at >> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90) >> at >> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:406) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at >> org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at >> net.sf.ehcache.constructs.web.filter.GzipFilter.doFilter(GzipFilter.java:75) >> at >> net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:92) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at >> org.appfuse.webapp.filter.LocaleFilter.doFilterInternal(LocaleFilter.java:74) >> at >> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at >> com.opensymphony.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.java:42) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at >> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) >> at >> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at >> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265) >> at >> org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) >> at >> org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) >> at >> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) >> at >> com.skyestream.skyemobile.webapp.filter.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:49) >> at >> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) >> at >> org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) >> at >> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) >> at >> org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) >> at >> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) >> at >> org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81) >> at >> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) >> at >> org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) >> at >> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) >> at >> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) >> at >> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) >> at >> org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) >> at >> org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at >> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) >> at >> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at >> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) >> at >> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) >> at >> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) >> at >> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) >> at >> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) >> at >> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211) >> at >> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) >> at >> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) >> at org.mortbay.jetty.Server.handle(Server.java:313) >> at >> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506) >> at >> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830) >> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) >> at >> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) >> at >> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) >> at >> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396) >> at >> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442) >> Caused by: org.apache.jasper.JasperException: PWC6033: Unable to compile >> class for JSP >> at >> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:601) >> at >> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:344) >> at >> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:477) >> at >> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:371) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) >> at >> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093) >> at >> org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at >> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at >> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:39) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at >> org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at >> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164) >> at >> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141) >> at >> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90) >> at >> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:406) >> at >> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> at >> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) >> at >> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) >> at >> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) >> at >> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) >> at >> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) >> at >> org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:268) >> at >> org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126) >> at >> org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:139) >> at >> org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:348) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253) >> at >> com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221) >> at >> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) >> at >> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) >> at >> com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150) >> at >> org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:48) >> at >> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) >> at >> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) >> at >> com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) >> at >> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) >> at >> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:167) >> at >> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) >> at >> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) >> at >> com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:105) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) >> at >> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) >> at >> org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:83) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) >> at >> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) >> at >> org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:207) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) >> at >> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) >> at >> com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:74) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) >> at >> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) >> at >> com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:127) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) >> at >> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) >> at >> org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:107) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) >> at >> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) >> at >> org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:206) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) >> at >> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) >> at >> com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:115) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) >> at >> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) >> at >> com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:143) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) >> at >> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) >> at >> com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:121) >> at >> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) >> at >> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) >> at >> org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:170) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) >> at >> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) >> at >> com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:123) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) >> at >> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) >> at >> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) >> at >> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) >> at >> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) >> at >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) >> at >> org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50) >> at >> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:504) >> ... 66 more >> Caused by: java.lang.NullPointerException >> at >> org.apache.jasper.compiler.JspUtil.validateExpressions(JspUtil.java:633) >> at >> org.apache.jasper.compiler.Validator$ValidateVisitor.getJspAttribute(Validator.java:1341) >> at >> org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1117) >> at >> org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:834) >> at >> org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1482) >> at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2257) >> at >> org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2307) >> at >> org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:854) >> at >> org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1482) >> at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2257) >> at >> org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2307) >> at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2313) >> at org.apache.jasper.compiler.Node$Root.accept(Node.java:481) >> at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2257) >> at >> org.apache.jasper.compiler.Validator.validate(Validator.java:1837) >> at >> org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:195) >> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:398) >> at >> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592) >> ... 188 more >> >> >> >> >> >> cilquirm wrote: >> > >> > the way to construct a map in ognl is >> > >> > %{ key : value , key : vale } >> > >> > >> > >> > >> http://www.opensymphony.com/ognl/html/LanguageGuide/collectionConstruction.html#mapConstruction >> > >> > hth, >> > -a >> > >> > >> > >> > Hartrich, James CTR USTRANSCOM J6 wrote: >> >> >> >> I'm iterating a collection (keys) from s:action to get corresponding >> >> hashmap (values) from aforementioned s:action then creating multiple >> >> s:select. >> >> >> >> >> >> >> >> Does anyone know how to construct a hashmap with ognl on a jsp? What >> >> type is then needed on the action to populate the hashmap? >> >> >> >> >> >> >> >> >> >> >> >> James >> >> >> >> >> >> >> >> >> >> >> > >> > >> >> -- >> View this message in context: >> http://www.nabble.com/S2%3A-HashMap---from-jsp-to-action-tf4238260.html#a14172450 >> Sent from the Struts - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > -- > Wesley Wannemacher > President, Head Engineer/Consultant > WanTii, Inc. > http://www.wantii.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/S2%3A-HashMap---from-jsp-to-action-tf4238260.html#a14174057 Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]