You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "David Evans (JIRA)" <ji...@apache.org> on 2006/05/02 02:38:19 UTC

[jira] Reopened: (STR-873) select tag doesn't work with multiple selects

     [ http://issues.apache.org/struts/browse/STR-873?page=all ]
     
David Evans reopened STR-873:
-----------------------------

    Assign To: Martin Cooper  (was: Struts Developer Mailing List)

> select tag doesn't work with multiple selects
> ---------------------------------------------
>
>          Key: STR-873
>          URL: http://issues.apache.org/struts/browse/STR-873
>      Project: Struts Action 1
>         Type: Bug

>   Components: Unknown
>     Versions: 1.0.2
>  Environment: Operating System: All
> Platform: PC
>     Reporter: Martin Grebac
>     Assignee: Martin Cooper

>
> I've got following code in my Form bean:
> public class ModulePathForm extends ActionForm{
>   private ArrayList folders;
>   private String[] selectedFolders;
>     
>   public ModulePathForm(){
>     super();
>     folders = null;
>     selectedFolders = null;
>   }
>     public ArrayList getFolders() {
>         return this.folders;
>     }
>     
>     public void setFolders(ArrayList folders) {
>         this.folders = folders;
>     }
>     
>     public String getSelectedFolders(int index) {
>         return this.selectedFolders[index];
>     }
>     
>     public String[] getSelectedFolders() {
>         return this.selectedFolders;
>     }
>     
>     public void setSelectedFolders(int index, String selectedFolders) {
>         this.selectedFolders[index] = selectedFolders;
>     }
>     
>     public void setSelectedFolders(String[] selectedFolders) {
>         this.selectedFolders = selectedFolders;
>     }    
> }
> and following code in my jsp:
>  <html:select property="selectedFolders" multiple="true">
>    <html:options property="folders"/>
>  </html:select>
> The jsp page shows OK with the options filled, but when I press Submit (I may
> select one, two, or more, it doesn't depend), I get following exception:
> javax.servlet.ServletException: BeanUtils.populate
> 	at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:774)
> 	at org.apache.struts.action.ActionServlet.processPopulate(ActionServlet.java:2061)
> 	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1564)
> 	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> 	at
> org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:223)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> 	at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
> 	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> 	at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
> 	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> 	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
> 	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> 	at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
> 	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
> 	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
> 	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
> 	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> 	at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
> 	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> 	at
> org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011)
> 	at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106)
> 	at java.lang.Thread.run(Thread.java:484)
> root cause
> java.lang.IllegalArgumentException: argument type mismatch
> 	at java.lang.reflect.Method.invoke(Native Method)
> 	at org.apache.struts.util.PropertyUtils.setSimpleProperty(PropertyUtils.java:988)
> 	at org.apache.struts.util.PropertyUtils.setNestedProperty(PropertyUtils.java:904)
> 	at org.apache.struts.util.PropertyUtils.setProperty(PropertyUtils.java:932)
> 	at org.apache.struts.util.BeanUtils.populate(BeanUtils.java:509)
> 	at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:772)
> 	at org.apache.struts.action.ActionServlet.processPopulate(ActionServlet.java:2061)
> 	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1564)
> 	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> 	at
> org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:223)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> 	at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
> 	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> 	at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
> 	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> 	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
> 	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> 	at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
> 	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
> 	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
> 	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
> 	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> 	at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
> 	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> 	at
> org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011)
> 	at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106)
> 	at java.lang.Thread.run(Thread.java:484)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/struts/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira