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]