Pessoal, estou estudando Struts pela apostila da Caelum fj21 e encontro o seguinte problema.
CLASSE ACTION
public class ListaContatosAction extends Action {
public ActionForward execute(ActionMapping map,
ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
// pesquisa no banco de dados a lista completa
List<Contato> lista = new ContatoDAO().getLista();
request.setAttribute("contatos", lista);
// ok... para onde ir agora?
return map.findForward("lista");
}
}
Realmente vc fez certo mas na parte da visualização esta errado vc esta imprimindo a String ${contato.id} - ${contato.nome} e não objeto para isso utilize EL <c:out value=objeto />
imagino que esse problema não seja causado pelo fato de utilizar strut… de qualquer forma não consigo entender o porque não funciona, sendo que está exatamente igual ao criado na apostila…
Pessoal. é alguma coisa relacionada ao Struts… eu criei aki um exemplo semelhante porem ao inves de criar um Action, eu fiz uma classe extendida do httpservllet e utilizei o RequestDispacher pra chamar a pagina JSP
dessa maneira funcionou !! agora eu não sei onde esta o problema no struts
O comando está imprimindo no console a quantidade corretamente. Mas este request é q é o problema. Por que qdo ele entra em ação, está aparentemente desabilitando TagLibs…
Acho q se a listagem estivesse sendo passada vazia para o request, ele não entraria no loop para imprimir " ${contato.id} - ${contato.nome} " na tela em vez de processá-lo devidamente como TagLib.
Caso esse passo a passo funcione com vc podemos concluir q é um bug no arquivo web.xml que vem no “struts-blank.1.3.8.war”.
Certamente vc fez a importação deste arquivo.
Originalmente ele está assim no começo dele:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- Vários de comentários...-->
<!DOCTYPE web-app (View Source for full doctype...)>
<web-app>
Vá no seu web.xml e exclua as linhas que estiverem acima de(acima não incluindo esta linha a seguir)
<display-name> Nome da Aplicação</display-name>
Depois inclua as seguintes linhas no começo do arquivo:
Espero que funcione.
Kra, comigo ficou redondo MAS NÃO SEI EXPLICAR TECNICAMENTE AS MUDANÇAS.
Tem tanta coisa na vida q a gente faz e não sabe o porquê… está é só mais uma… Sou iniciante mas gostaria de ter uma explicação técnica. Caso alguem se habilite ficarei agradecido.
faz com que nossa web.xml que define a estrutura de nossa aplicação web entender o código do jsp. Caso esta linha não esteja adicionada o código ${variavel} não significa nada para o xml, visto ser nativo do jsp.