Exception no Struts

2 respostas
R

Olá pessoal estou tentando iterar uma lista na minha JSP em um objeto HTML:SELECT o processo de preenchimento da lista funciona normalmente mas na hora de jogar os parametros na JSP da o erro:

javax.servlet.ServletException: No getter method available for property
sCodOperacao for bean under name listaOperacoes

Alguem sabe qual é o problema? Muito Obrigado...

trecho struts-config:

<!-- Action responsavel por jogar codOperacao na sessão  -->
         <action       
            attribute="operacaoForm"
            input="/operacao.jsp"
            name="operacaoForm"
            path="/operacoes"
            scope="session"
            type="com.myapp.struts.action.OperacaoAction"
            unknown="false"
            validate="true">
         </action>
trecho Action:
OpeDAO opeDAO  = new OpeDAO();
           
            operacoes  = opeDAO.listaOperacoes(id);
                      
            session.setAttribute("listaOperacoes",operacoes); 
            
            OperacaoForm operacaoForm = new OperacaoForm();
            
            session.setAttribute("operacaoForm",operacaoForm);
trecho do form:
public String getDescricao() {
        return descricao;
    }
    
    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }
    
  public String getsCodOperacao() {
        return sCodOperacao;
    }
    
    public void  setsCodOperacao(String sCodOperacao) {
        this.sCodOperacao = sCodOperacao;
    }
trecho do DAO:
public ArrayList listaOperacoes(int idUsuario) throws SQLException { 
                    
           conn = retornaConn(); 
           
           Statement stmt = conn.createStatement();
                                
           ArrayList operacoes  = new ArrayList();
        
        try {
                 
           ResultSet rs = stmt.executeQuery ("select * from Tab_Operacao where CodUsuario LIKE '%" + idUsuario + "%'");
            
            while (rs.next()) {
               OpeBean ope = new OpeBean();
                           
               ope.setsCodOperacao(rs.getString("CodOperacao"));
               ope.setDescricao(rs.getString("Descricao"));                   
                          
               LabelValueBean thisOption = new LabelValueBean(ope.getDescricao(), ope.getsCodOperacao());
             
                operacoes.add(thisOption);
              
            }  
          rs.close();
      } 
      catch (SQLException e) {
            throw e; 
            
      } 
      finally{               
                 stmt.close();
                 conn.close();
      }                 
      
      return operacoes; 
        
    }
Trecho da JSP:
<html:form action="/operacoes.do">
        
    <p align="center"><b><font face="Century Gothic" color="#FFFFFF"> <font size="2">
         
           Cadastrar nova Operação:  <html:select property="sCodOperacao" name="operacaoForm" size="1"> 
                                       <html:options collection="listaOperacoes" property="sCodOperacao" labelProperty="descricao" /> 
                                     </html:select> 
                            
    </span></font></b></p>
        
    
   </html:form>

* Na verdade não sei pq declaramos o mesmo parametro sCodOperacao na tag select e na tag options da jsp

2 Respostas

B

Vc precisa incluir getSCodOperacao() e setSCodOperacao() na classe da variavel listaOperacoes.

R

Olá, desculpe a ignorancia, mas onde exatamente devo criar o metodo… em que parte do código?

No codigo onde estava getsCodOperacao mudei para getSCodOperacao
no meu Form, Bean e Dao mas mesmo assim não resolvel…

pode mostrar que parte exatamente do meu codigo devo mudar???

Muito Obrigado!!

Rodrigo.

Criado 16 de setembro de 2006
Ultima resposta 17 de set. de 2006
Respostas 2
Participantes 2