Html:options html:select

Dúvida no html:options

Meu jsp:
<html:select property=“executorId”>
<html:options
collection="lstusuarios"
property="value"
labelProperty=“label” />
</html:select>

listsis é um ArrayList

listsis.add( new LabelValueBean( “Mostrado”, “Valor” ) );
request.setAttribute(“lstsistemas”,listsis);

Ele mostra as labels e values corretamente no jsp, ao clicar submit ele processa e insere os valores corretos no banco, inclusive o atributo executorId, mas ao inves de seguir para a pagina correta
ele mostra:

javax.servlet.ServletException: javax.servlet.jsp.JspException: Cannot find bean under name lstsistemas

Cara, esse erro geralmente ocorreu quando o atributo consultado não está na request.

Verifique se tua lista foi setada na request antes do redirecionamento.

Caso o erro ainda continue, cole os trechos .java e o .jsp para olhar melhor.

Abraços

O codigo executa corretamente e insere as informaçoes no banco, mas mostra aquela pagina depois.
Ele chama a action com action=inicioPerfil que redireciona pro jsp onde um form passando action=novoPerfil .

if(request.getParameter(“action”).equals(“inicioPerfil”)){
Collection <Sistema>c = null;
Collection <Usuario>c2 = null;
ArrayList<LabelValueBean> listusr = new ArrayList<LabelValueBean>();
ArrayList<LabelValueBean> listsis = new ArrayList<LabelValueBean>();
c = FabricaDaoFactory.getInstance().getFabricaDao().obtemTodosSistemas();
for (Sistema s : c) {
listsis.add( new LabelValueBean( s.getSistemaId().toString(), s.getSistemaId().toString() ) );
}//for
request.setAttribute(“lstsistemas”,listsis);

        c2 =  FabricaDaoFactory.getInstance().getFabricaDao().obtemTodosUsuarios();
        for (Usuario u : c2) {
         listusr.add( new LabelValueBean( u.getUserId().toString(), u.getUserId().toString().toString() ) );
        }//for
        request.setAttribute("lstusuarios",listusr);
        return mapping.findForward(PERFIL_INICIO);

}//inicioPerfil

if(request.getParameter(“action”).equals(“novoPerfil”)){
Perfil p = new Perfil();
int resp = 0;
PerfilActionForm paf = (PerfilActionForm) form;
BeanUtils.copyProperties(p , paf);
resp = FabricaDaoFactory.getInstance().getFabricaDao().inserirPerfil§;

      if(resp&gt;0){ 
          request.setAttribute("msg", "inserido com sucesso");
          return mapping.findForward(PERFIL_INSERIDO);
      }
      request.setAttribute("msg", "Erro DB");  
      return mapping.findForward(ERRODB);  

}////novoPerfil

Funcionou agora.
tirei essas listas do request e mudei para atributos da session.

adcionei no jsp:
<jsp:useBean id=“lstsistemas” type=“java.util.Collection” scope=“session”/>
<jsp:useBean id=“lstusuarios” type=“java.util.Collection” scope=“session”/>

e mudei no Action

request.getSession().setAttribute(“lstsistemas”,listsis);
request.getSession().setAttribute(“lstusuarios”,listusr);

Como eu estou trabalho com escopo “request”, talvez ele estivesse passando lstsistemas e lstusuarios para o Form esperando que ele tivesse getters e setters.

Bom, foi. Valeu.

Agora surguiu um problema meio relacionado em outra pagina.
Agora com um select multiple

Action:

ArrayList<LabelValueBean> listusr = new ArrayList<LabelValueBean>();
request.setAttribute(“lstusuarios”,listusr);

JSP:
<jsp:useBean id=“lstusuarios” type=“java.util.ArrayList<LabelValueBean>” scope=“request”/>

<html:select property=“funcionarioList” multiple=“1”>
<html:options
collection="lstusuarios"
property="value"
labelProperty=“label” />
</html:select>

FORM:
public void setFuncionarioList(ArrayList<LabelValueBean> funcionarioList) {
}

Os valores chegam no JSP e sao mostrados corretamente, mas os dados aparentemente nao estao chegando no form. Esse funcionarioList chega no form do mesmo tipo de lstusuarios ou de algum outra maneira pradronizada?