I'd wonder if it's a typing issue; String v. Map.Entry, but that's without looking into the template, which creates the JavaScript.
Dave --- On Sun, 8/31/08, Gabriel Belingueres wrote: > Hi Wes, no it didn't worked: > > Here is my test page: > > <?xml version="1.0" > encoding="ISO-8859-1" ?> > <%@ page language="java" > contentType="text/html; charset=ISO-8859-1" > pageEncoding="ISO-8859-1"%> > <%@ taglib uri="/struts-tags" > prefix="s" %> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 > Transitional//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> > <html xmlns="http://www.w3.org/1999/xhtml"> > <head> > <meta http-equiv="Content-Type" > content="text/html; charset=ISO-8859-1" /> > <title>Insert title here</title> > </head> > <body> > <s:form action="xx" > theme="simple"> > <s:doubleselect label="doubleselect test2" > name="menu" > list="#{'fruit':'Nice Fruits', > 'other':'Other Dishes'}" > doubleName="dishes" doubleList="top == > 'fruit' ? {'apple', 'orange'} > : {'monkey', 'chicken'}" /> > </s:form> > </body> > </html> > > Without the backslash it shows the following log (but at > least the > upper select is rendered): > > 2008-08-31 16:41:47,359 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [org.apache.catalina.jsp_file] > 2008-08-31 16:41:47,359 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [struts.valueStack] > 2008-08-31 16:41:47,359 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > 2008-08-31 16:41:47,359 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > 2008-08-31 16:41:47,359 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > 2008-08-31 16:41:47,359 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > 2008-08-31 16:41:47,375 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [.freemarker.Request] > 2008-08-31 16:41:47,375 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [.freemarker.RequestParameters] > 2008-08-31 16:41:47,390 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > 2008-08-31 16:41:47,390 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > 2008-08-31 16:41:47,390 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [menu] > 2008-08-31 16:41:47,390 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:50) - Caught > an exception > while evaluating expression 'top == 'fruit' ? > {'apple', 'orange'} : > {'monkey', 'chicken'}' against value > stack > java.lang.IllegalArgumentException: invalid comparison: > com.opensymphony.xwork2.DefaultTextProvider and > java.lang.String > at ognl.OgnlOps.compareWithConversion(OgnlOps.java:93) > at ognl.OgnlOps.isEqual(OgnlOps.java:142) > at ognl.OgnlOps.equal(OgnlOps.java:533) > at ognl.ASTEq.getValueBody(ASTEq.java:51) > at > ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170) > at ognl.SimpleNode.getValue(SimpleNode.java:210) > at ognl.ASTTest.getValueBody(ASTTest.java:49) > at > ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170) > at ognl.SimpleNode.getValue(SimpleNode.java:210) > at ognl.Ognl.getValue(Ognl.java:333) > at ognl.Ognl.getValue(Ognl.java:310) > at > com.opensymphony.xwork2.ognl.OgnlUtil.getValue(OgnlUtil.java:201) > at > com.opensymphony.xwork2.ognl.OgnlValueStack.findValue(OgnlValueStack.java:224) > at > org.apache.struts2.components.Component.findValue(Component.java:253) > at > org.apache.struts2.components.DoubleListUIBean.evaluateExtraParams(DoubleListUIBean.java:138) > at > org.apache.struts2.components.DoubleSelect.evaluateExtraParams(DoubleSelect.java:61) > at > org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:858) > at > org.apache.struts2.components.UIBean.end(UIBean.java:509) > at > org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42) > at > org.apache.jsp.testdoubleselect_jsp._jspx_meth_s_005fdoubleselect_005f0(testdoubleselect_jsp.java:136) > at > org.apache.jsp.testdoubleselect_jsp._jspx_meth_s_005fform_005f0(testdoubleselect_jsp.java:102) > at > org.apache.jsp.testdoubleselect_jsp._jspService(testdoubleselect_jsp.java:65) > at > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) > at > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) > at > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > at > org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:461) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) > at java.lang.Thread.run(Unknown Source) > 2008-08-31 16:41:47,390 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - NOTE: > Previous > warning message was issued due to devMode set to true. > 2008-08-31 16:41:47,390 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [dishes] > 2008-08-31 16:41:47,390 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > 2008-08-31 16:41:47,390 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > 2008-08-31 16:41:47,406 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [fieldErrors] > 2008-08-31 16:41:47,406 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [fieldErrors] > 2008-08-31 16:41:47,421 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > 2008-08-31 16:41:47,421 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > 2008-08-31 16:41:47,421 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > 2008-08-31 16:41:47,421 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > > > > WITH the backslash in the list attribute > (list="\#{'fruit':'Nice > Fruits', 'other':'Other Dishes'}") > it shows the following log (but > nothing is rendered at all): > > 2008-08-31 16:43:49,062 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [org.apache.catalina.jsp_file] > 2008-08-31 16:43:49,250 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [struts.valueStack] > 2008-08-31 16:43:49,250 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > 2008-08-31 16:43:49,250 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > 2008-08-31 16:43:49,250 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > 2008-08-31 16:43:49,250 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > 2008-08-31 16:43:49,265 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [.freemarker.Request] > 2008-08-31 16:43:49,265 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [.freemarker.RequestParameters] > 2008-08-31 16:43:49,281 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > 2008-08-31 16:43:49,296 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [templateDir] > 2008-08-31 16:43:49,296 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [menu] > 2008-08-31 16:43:49,296 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [\#{'fruit':'Nice Fruits', > 'other':'Other Dishes'}] > 2008-08-31 16:43:49,296 WARN > (com.opensymphony.xwork2.ognl.OgnlValueStack:46) - Could > not find > property [\#{'fruit':'Nice Fruits', > 'other':'Other Dishes'}] > 2008-08-31 16:43:49,296 ERROR > (org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/prueba].[jsp]:253) > - Servlet.service() para servlet jsp lanzó excepción > tag 'doubleselect', field 'list', name > 'menu': The requested list key > '\#{'fruit':'Nice Fruits', > 'other':'Other Dishes'}' could not be > resolved as a collection/array/map/enumeration/iterator > type. Example: > people or people.{name} - [unknown location] > at > org.apache.struts2.components.Component.fieldError(Component.java:230) > at > org.apache.struts2.components.Component.findValue(Component.java:292) > at > org.apache.struts2.components.ListUIBean.evaluateExtraParams(ListUIBean.java:80) > at > org.apache.struts2.components.DoubleListUIBean.evaluateExtraParams(DoubleListUIBean.java:96) > at > org.apache.struts2.components.DoubleSelect.evaluateExtraParams(DoubleSelect.java:61) > at > org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:858) > at > org.apache.struts2.components.UIBean.end(UIBean.java:509) > at > org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42) > at > org.apache.jsp.testdoubleselect_jsp._jspx_meth_s_005fdoubleselect_005f0(testdoubleselect_jsp.java:136) > at > org.apache.jsp.testdoubleselect_jsp._jspx_meth_s_005fform_005f0(testdoubleselect_jsp.java:102) > at > org.apache.jsp.testdoubleselect_jsp._jspService(testdoubleselect_jsp.java:65) > at > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) > at > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) > at > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > at > org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:461) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) > at java.lang.Thread.run(Unknown Source) > > > 2008/8/29 Wes Wannemacher <[EMAIL PROTECTED]>: > > This is a bit obscure, but try to use > list="\#{ > > > > (notice the backslash before the hash mark.) > > > > If that works, I'll explain why... > > > > -Wes > > > > On Fri, 2008-08-29 at 23:20 -0300, Gabriel Belingueres > wrote: > >> (Posted this in user list a few days ago without > luck) > >> > >> Hi, > >> > >> I tried to run (using S2.1.2) the Map example code > of doubleselect tag > >> [1] but it doesn't work. > >> (The dependent select shows empty.) > >> > >> Does anyone knows if either it's a mistake in > the docs or the tag just > >> don't work for Maps? > >> > >> Regards, > >> Gabriel > >> > >> [1] > http://struts.apache.org/2.1.2/docs/doubleselect.html > >> > >> > --------------------------------------------------------------------- > >> To unsubscribe, e-mail: > [EMAIL PROTECTED] > >> For additional commands, e-mail: > [EMAIL PROTECTED] > >> > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: > [EMAIL PROTECTED] > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]