Hi Wes Is there a link which describes UEL for our own edification?
Thanks/ M- ----- Original Message ----- Wrom: FGGMEPYOQKEDOTWFAOBUZXUWLSZLKBRNVWW To: "Struts Users Mailing List" <user@struts.apache.org> Sent: Wednesday, December 05, 2007 9:55 AM Subject: Re: S2: HashMap - from jsp to action > 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.jav a:419) > > at > > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler java:1084) > > at > > org.appfuse.webapp.filter.StaticFilter.doFilterInternal(StaticFilter.java:10 6) > > at > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestF ilter.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(ActionContextCle anUp.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.jav a: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(OncePerRequestF ilter.java:75) > > at > > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler java:1084) > > at > > com.opensymphony.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.ja va:42) > > at > > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler java:1084) > > 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.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler java:1084) > > at > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:265) > > 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:275) > > at > > com.skyestream.skyemobile.webapp.filter.ExceptionTranslationFilter.doFilter( ExceptionTranslationFilter.java:49) > > at > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:275) > > at > > org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(Ano nymousProcessingFilter.java:125) > > at > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:275) > > at > > org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(Remember MeProcessingFilter.java:142) > > at > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:275) > > at > > org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(S ecurityContextHolderAwareRequestFilter.java:81) > > at > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:275) > > at > > org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFil ter.java:271) > > at > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.java:275) > > at > > org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpS essionContextIntegrationFilter.java:249) > > at > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh ainProxy.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(Char acterEncodingFilter.java:96) > > at > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestF ilter.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(ContextHandlerColl ection.java:211) > > at > > org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:11 4) > > 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(HttpConnectio n.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:4 42) > > Caused by: org.apache.jasper.JasperException: PWC6033: Unable to compile > > class for JSP > > at > > org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:6 01) > > at > > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3 44) > > 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.jav a:413) > > at > > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler java:1084) > > at > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestF ilter.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(ActionContextCle anUp.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.jav a: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(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.validator.ValidationInterceptor.doIntercept(Validati onInterceptor.java:150) > > at > > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.do Intercept(AnnotationValidationInterceptor.java:48) > > 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.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.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.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 > > 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 > > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInt erceptor.java:207) > > 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.ScopedModelDrivenInterceptor.intercept(S copedModelDrivenInterceptor.java:127) > > 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.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.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 > > 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.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 > > 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) > > ... 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(Validat or.java:1341) > > at > > org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Vali dator.java:1117) > > at > > org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:83 4) > > 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:85 4) > > 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:5 92) > > ... 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.h tml#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#a141 72450 > > 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] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]