[Resolvido] JSTL : nao retornando método

Tenho um bean chamado Planta que possui um método que criei para teste com o jstl

public int numero()
{
        return 10;
}

No jsp chamo o usebean <jsp:useBean id=“painel” class=“bean.Painel” /> e quando chamo : ${painel} , me exibe o endereçamento de memória do bean. Ok.
O problema é quando quero chamar o método ‘numero’ desse bean… Chamo assim:

${painel.numero}

e já chamei também usando o c:out, assim:

<c:out value="${painel.numero}" />

Está me dando um ELException assim: Unable to find a value for “numero” in object of class “bean.Painel” using operator “.”

Claro q este método que retorna o numero é um teste bem simples que criei… pq estava tentando chamar um método de verdade e estava me dando esse erro… aí tentei com esse método simples e o erro persiste. Alguem pode ajudar?

Amigo
cuidado se estiver utilizando jsf com jstl, pois jsf é compilado em tempo de execução e jstl em tempo de compilação.
Pois pode ser por isso que não esta conseguindo pegar os valores que vc quer.

diegorc,
O detalhe do JSF realmente daria problema, mas acho que não é o caso, este exemplo é só JSP mesmo.

Para o autor da pergunta:

  1. Resolva o problema renomeando o método para getNumero()
  2. Pesquise sobre o padrão JavaBeans para entender porque vc vez isso (e porque funcionou!) :slight_smile:

Gomesrod, realmente é isso…

faltava o prefixo get antes do nome do método… que estranho isso!
Estava na metade de um projeto fazendo em scriptless e a partir de agora vou atualizar com JSTL, vou ter que alterar o nome dos meus métodos todos com get antes do nome só pro JSTL reconhecer… que bizarro.

Mas valeu brother!!! You gained a gold star! * :smiley: