Hi,

Have you tried something like this?

<bean:write name="SearchVehicleForm" property='<%= "vehicleTypes[" + index +
"]" %>'/>

Jon.

-----Original Message-----
From: Thai Thanh Ha [mailto:[EMAIL PROTECTED]] 
Sent: 25 June 2001 09:16
To: '[EMAIL PROTECTED]'
Subject: Indexed property of ActionForm


I want to get value for an attribute named "vehicleTypes" in my ActionForm.
This is an array of Strings. But I don't know how to do it. Struts always
reports internel server error(500) when I  try to submit the form. Please
help me!

This is my ActionForm:
----------------------
public final class SearchVehicleForm extends ActionForm {

    private String[] vehicleTypes;
  
    public String[] getVehicleTypes() {
        return vehicleTypes;
    }

    public void setVehicleTypes(String[] vehicleTypes) {
        this.vehicleTypes = vehicleTypes;
    }
}


This is the exception from Tomcat's log file
-----------------------
2001-06-25 15:22:54 StandardWrapperValve[action]: Servlet.service() for
servlet action threw 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:20
61)
        at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1563)
        at
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:491)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:254)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:194)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:255)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
        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.ja
va:225)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
        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:2252)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164
)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
        at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
        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:5
66)
        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:
875)
        at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:952)
        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:98
8)
        at
org.apache.struts.util.PropertyUtils.setNestedProperty(PropertyUtils.java:90
4)
        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:20
61)
        at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1563)
        at
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:491)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:254)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:194)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:255)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
        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.ja
va:225)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
        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:2252)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164
)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
        at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
        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:5
66)
        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:
875)
        at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:952)
        at java.lang.Thread.run(Thread.java:484)

Reply via email to