Jstl

Olá pessoal,

Estou começando a usar tags JSTL e Struts e deparei com a seguinte questão…
Fiz um sisteminha com uma conexão JDBC, recebo dados do banco e coloco num JavaBean…
Numa classe DAO, tenho um método que retorna um List e por meio do Struts, faço um ActionForward pra uma página JSP.
Nesta página, eu consigo exibir os dados na tela, apenas da seguinte forma:

<c:out value="${cliente.nome}" />

se eu colocar apenas ${cliente.nome} na página aparece exatamente o mesmo: ${cliente.nome}

Gostaria muito de entender o porque funcionou apenas do primeiro jeito

Obrigado

Ninguém sabe msm responder essa questão…
deve ser simples, mas não consigo entender
a questão é simples: funciona assim:
<c:out value="${cliente.codigo}" />

e não funciona assim:
${cliente.codigo}

me ajudem por favor

O interpretador da macro que vai buscar o valor no Bean está no c:out, por isso somente funciona aí dentro, fora daí, direto no JSP, é somente um conteúdo fixo no HTML.

mjmendes,
então isso ocorre apenas qdo eu busco um valor em algum Bean, certo?

pois eu me lembro de ter colocado apenas um ${variavel} e o resultado ter aparecido corretamente no HTML…

Sem as aspas só funciona com valores primitivos do java.

Para funcionar do forma que você estava colocando, aí você usa EL e não JSTL.
A forma de usar Beans com EL é assim:

<jsp:useBean id=“alias” class=“meupacote.NomeDoBean” />
${alias.nome }