Slaydy
Setembro 4, 2006, 7:06pm
#1
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.
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
Slaydy
Setembro 4, 2006, 7:50pm
#3
<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
[/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???
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!
Slaydy
Setembro 11, 2006, 1:08pm
#5
[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!
Slaydy
Setembro 11, 2006, 1:10pm
#6
[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!..
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
Slaydy
Setembro 14, 2006, 1:23pm
#9
eeeee 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…
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?
JMan
Setembro 5, 2006, 7:34am
#11
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