JSTL - alguem me ajuda com um for-each!

Oi, sou iniciante em desenvolvimento web. Estou fazendo um site pra facul usando Struts, JSTL, TomCat no Eclipse.
Minha duvida é a seguinte:

Fiz a minha classe herdar DispatchAction para poder utiliza-la com diversos métodos que retornem ActionForward. Pra começar estou fazer o método listar para listar os horario da tabela agenda do banco de dados. Eis o código:

[code] public ActionForward listar(ActionMapping map, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws SQLException {

			List<AgendaVO> lista = new AgendaDAO().pesquisa();	
			request.setAttribute("agenda", lista);					
			return map.findForward("listagem");					
}[/code]

Configurei o struts-config.xml da seguinte forma:

<action path ="/lista" type ="bo.AgendaBO" parameter="method" scope ="request" > <forward name="listagem" path="/pages/listaAgenda.jsp" ></forward> </action>

Criei o JSP usando JSTL pra listar na página:

[code]
<%@page pageEncoding=“Cp1252” contentType=“text/html; charset=Cp1252” %>
<%@ taglib uri=“http://java.sun.com/jstl/core” prefix=“c” %>

${a.descricao} [/code]

Porém não esta listando o resultado da forma correta, o que aparece no navegador é:

${a.descricao} :shock: :?:

Se alguém tiver idéia porque pode estar ocorrendo isso e puder me ajudar ficarei muito grata. Aguardo.
:frowning:

Troca ${a.descricao} por <c:out value="${a.descricao}" />

Somente “${a.descricao}” não significa nada, é uma expressão que vc nao colocou em lugar algum.
O c:out imprime essa expressao pra vc :wink:

<c:out value="${a.descricao}" /> </br>

tente com o este código mas continua listando :

${a.descricao}" 

também testei um exemplo que achei na Internet:

[code]<%@ taglib uri=“http://java.sun.com/jstl/core” prefix=“c” %>
<%@ taglib uri=“http://java.sun.com/jstl/core_rt” prefix=“c-rt” %>

<%!
String[] names = { “Joe”, “Rosy”, “Sissi”, “Sun” };
int[] ages = {29, 8, 6, 5};
%>

JSTL 'forEach' tag

List of people

Name
[/code]

e o que saiu foi:

List of people Name ${person} ${ages[i]} ${person} ${ages[i]} ${person} ${ages[i]} ${person} ${ages[i]}

Sera que configurei algo errado??? :cry:

Para que que o JSTL funcione corretamente você tem que especificar que a versão do servlet é 2.4 ou superior…
Se não, não funciona mesmo!!!

Dá uma olhada no arquivo web.xml e veja se está assim

<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ ns/j2ee/web-app_2_4.xsd" version="2.4">

Se não estiver muda a versão e depois testa denovo e nos avisa se resolveu ou não!

[code]

Para que que o JSTL funcione corretamente você tem que especificar que a versão do servlet é 2.4 ou superior…
Se não, não funciona mesmo!!!

Dá uma olhada no arquivo web.xml e veja se está assim

Code:

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns=“http://java.sun.com/xml/ns/j2ee
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation=“http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/
ns/j2ee/web-app_2_4.xsd”
version=“2.4”>

Se não estiver muda a versão e depois testa denovo e nos avisa se resolveu ou não! [/code]

Meu web.xml não ta com esse cabeçalho, tentei mudar e da uma serie de erros relacionados ao name space “xmlns”!! Não sei o que fazer!

[code]Acredito que o problema possa estar em vc não estar habilitado no uso de EL, experimente na diretiva page de sua página incluir i

Code:

isELignored=“false”
[/code]

Tentei mudar a diretiva incluindo essa propriedade, mas tbm deu erro! Não reconhece a diretiva!..

:frowning:

Obrigado a todos e aguardo mais sugestões.

<%@page pageEncoding="Cp1252" contentType="text/html; charset=Cp1252" isELIgnored="false"%>

[quote=nicoweda]Para que que o JSTL funcione corretamente você tem que especificar que a versão do servlet é 2.4 ou superior…
Se não, não funciona mesmo!!!
[/quote]

Cuidado, $ eh Expression language, nao eh jstl. Sao duas coisas distintas. Nada a ver uma com a outra hoje em dia. Antigamente (ate 2 anos atras) sim.

Expression language so surgiu junto com a servlet api 2.4. Portanto eh natural que se voce manter 2.3 ou anterior, o seu servidor nao dara suporte como ele da no 2,4

eeeee :smiley: to flix!!!

bem aki no trampo funcionou colocando a diretiva, em casa nao tinha funcionado…deu certinho… depois de algumas semanas posso tentar continuar meu projetinho até o próximo problema! quer dizer…se em casa funcionar… :stuck_out_tongue:

obrigado a todos

Galera, perdoem por eu tirar do tumulo esse tópico desde 2006 kkkk

mas é que ja esta mto bem esclarecido. E é apenas um detalhe que eu preciso.

Eu adicionei a parte

e deu o erro quando eu fui publicar “did not find a child translator for jsp-property-group”

e depois um log enorme.

Oque pode ser?

Acredito que o problema possa estar em vc não estar habilitado no uso de EL, experimente na diretiva page de sua página incluir i