You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by "Hartrich, James CTR USTRANSCOM J6" <Ja...@ustranscom.mil> on 2007/08/08 20:34:36 UTC
S2: HashMap - from jsp to action
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
Re: S2: HashMap - from jsp to action
Posted by Wes Wannemacher <we...@wantii.com>.
http://java.sun.com/products/jsp/reference/techart/unifiedEL.html
That is the description of the UEL,
https://issues.apache.org/struts/browse/WW-2213
That is where I discovered the symbol clash.
What tipped me off is that you mentioned using the full
@java.util.Hashmap@ notation and it worked.
Since it's still not working try using %{ as in -
list="%{\#{'foo':'foovalue','bar':'barvalue'}}"
Keep in mind that I don't think OGNL errors raise an exception, I
think they are swallowed silently, so check your syntax very closely.
-Wes
On 12/5/07, J&M <ca...@yahoo.com> wrote:
>
> 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 <ca...@yahoo.com> 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="%{#@java.util.LinkedHashMap@{'Regular' : 'Regular', 'Decaf':
> >> 'Decaf'}}" - does work ):
> >>
> >>
> >>
> >>
> >>
> >>
> >> 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: user-unsubscribe@struts.apache.org
> >> For additional commands, e-mail: user-help@struts.apache.org
> >>
> >>
> >
> >
> > --
> > Wesley Wannemacher
> > President, Head Engineer/Consultant
> > WanTii, Inc.
> > http://www.wantii.com
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> > For additional commands, e-mail: user-help@struts.apache.org
> >
> >
> >
>
> --
> 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: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
--
Wesley Wannemacher
President, Head Engineer/Consultant
WanTii, Inc.
http://www.wantii.com
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: S2: HashMap - from jsp to action
Posted by Dave Newton <ne...@yahoo.com>.
http://www.google.com/search?q=unified+expression+language
--- J&M <ca...@yahoo.com> wrote:
>
> 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 <ca...@yahoo.com> 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="%{#@java.util.LinkedHashMap@{'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
>
=== message truncated ===
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: S2: HashMap - from jsp to action
Posted by J&M <ca...@yahoo.com>.
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 <ca...@yahoo.com> 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="%{#@java.util.LinkedHashMap@{'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: user-unsubscribe@struts.apache.org
>> For additional commands, e-mail: user-help@struts.apache.org
>>
>>
>
>
> --
> Wesley Wannemacher
> President, Head Engineer/Consultant
> WanTii, Inc.
> http://www.wantii.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
>
--
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: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: S2: HashMap - from jsp to action
Posted by Wes Wannemacher <we...@wantii.com>.
Sure Martin, this link provides a good starting point -
http://java.sun.com/products/jsp/reference/techart/unifiedEL.html
-Wes
On 12/5/07, mgainty@hotmail.com <mg...@hotmail.com> wrote:
> Hi Wes
>
> Is there a link which describes UEL for our own edification?
>
> Thanks/
> M-
>
--
Wesley Wannemacher
President, Head Engineer/Consultant
WanTii, Inc.
http://www.wantii.com
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: S2: HashMap - from jsp to action
Posted by mg...@hotmail.com.
Hi Wes
Is there a link which describes UEL for our own edification?
Thanks/
M-
----- Original Message -----
Wrom: FGGMEPYOQKEDOTWFAOBUZXUWLSZLKBRNVWW
To: "Struts Users Mailing List" <us...@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 <ca...@yahoo.com> 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="%{#@java.util.LinkedHashMap@{'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: user-unsubscribe@struts.apache.org
> > For additional commands, e-mail: user-help@struts.apache.org
> >
> >
>
>
> --
> Wesley Wannemacher
> President, Head Engineer/Consultant
> WanTii, Inc.
> http://www.wantii.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: S2: HashMap - from jsp to action
Posted by Wes Wannemacher <we...@wantii.com>.
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 <ca...@yahoo.com> 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="%{#@java.util.LinkedHashMap@{'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: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
--
Wesley Wannemacher
President, Head Engineer/Consultant
WanTii, Inc.
http://www.wantii.com
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: S2: HashMap - from jsp to action
Posted by J&M <ca...@yahoo.com>.
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="%{#@java.util.LinkedHashMap@{'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: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: S2: HashMap - from jsp to action
Posted by cilquirm <aa...@gmail.com>.
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#a12082014
Sent from the Struts - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org