Struts carregando uma <html:select/>

Está mostrando a tela de cadastro mas quando tento cadastrar gera esse erro:

java.lang.IllegalArgumentException: Cannot invoke com.myapp.struts.form.CadastroProdutoForm.setCategorias - argument type mismatch org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:1778) org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:1759) org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1648) org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:1677) org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1022) org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811) org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298) org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493) org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) javax.servlet.http.HttpServlet.service(HttpServlet.java:709) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

Minha jsp: <tr><td colspan="2" align="left"><font size="2">Categorias</font></td></tr> <tr><td colspan="2" align="left"> <html:select property="categorias"> <html:optionsCollection name="listacategorias" value="id" label="nome"/> </html:select> </td></tr>

Meu action : [code]public class ProdutoAction extends DispatchAction {

private final static String TELA = "telacadastro";
private final static String SUCESSO = "sucesso";
private final static String FALHA = "falha";


public ActionForward create(ActionMapping mapping, ActionForm  form,
        HttpServletRequest request, HttpServletResponse response)
        throws Exception {
    request.getSession().setAttribute("listacategorias",(Collection)new ProdutoBO().retornaCategorias());
    return mapping.findForward(TELA);
}


public ActionForward insert(ActionMapping mapping, ActionForm  form,
        HttpServletRequest request, HttpServletResponse response)
        throws Exception {
    
    return mapping.findForward(SUCESSO);
}

}[/code]

meu form

[code]public class CadastroProdutoForm extends org.apache.struts.validator.ValidatorForm {

private String nome;
private String descricao;
private String cor;
private double peso;
private double preco;
private Vector categorias;

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getDescricao() {
    return descricao;
}

public void setDescricao(String descricao) {
    this.descricao = descricao;
}

public String getCor() {
    return cor;
}

public void setCor(String cor) {
    this.cor = cor;
}

public double getPeso() {
    return peso;
}

public void setPeso(double peso) {
    this.peso = peso;
}

public double getPreco() {
    return preco;
}

public void setPreco(double preco) {
    this.preco = preco;
}

public Vector getCategorias() {
    return categorias;
}

public void setCategorias(Vector categorias) {
    this.categorias = categorias;        
}

}[/code]

alguem me ajude por favor!

consegui resolver! categorias deve ser um vetor de int para receber os values so <html:select>