Colegas,
Uso jsp/taglib com atributos da requisição vindos de uma servlet via RequestDispatcher , beleza.
Estou tentando usar o JQuery p/ requisições assincronas mas nao consigo pegar os atributos setados pela servlet através de request.setAttribute sem que a requisição chamada pela funcao load do JQuery carregue toda a página (por conta do dispatcher) ou eu use no servlet resposne.getWriter().println().
Testei tbm setando os atributos da servlet pro jsp via sessão e até rola mas acredito que sessão não seja pra isso.
Tem como pegar o resultado de load e obter os atributos da requisição ou será somente via response.getWriter().println()? Preciso passar lista de valores e assim é pedreira…
Luiz, até deu para entender um pouco o que você quis dizer mas sem o código fica difícil achar uma solução.
Caro Talles,
No doGet do servlet eu pesquiso no dao meus pojos e encaminho ao jsp via dispatcher :
List<Cliente> lista = clienteDAO.listAll();
request.setAttribute("listaCliente",lista);
request.getRequestDispatcher("cliente.jsp").forward(request,response());
No jsp eu pego esse atributo pra preencher um table p.ex :
<table id="mensagem">
<c:forEach items="${listaCliente}" var="cliente">
<tr><td>${cliente.id}</td><td>${cliente.nome</td></tr>
//etc...
Eu tenho essa função do JQuery que executa num evento onclick de um link e faz a chamada ao servlet (considere a JSTL devidamente declarada):
<script type="text/javascript">
function exibeMsg(){
$('#mensagem').load("<c:url value='/TesteServlet'/>");
}
</script>
Quando executo o evento que chama a função com o envio do servlet é carregada a pagina cliente.jsp novamente e o componente com id=mensagem não recebe retorno ou é modificado.
No final do doGet na servlet se eu fizer isso e comentar o dispatcher :
response.getWriter().println("Mensagem vinda do servlet")
eu recebo a String e o meu #mensagem é alterado mas não consigo pegar o atributo listaCliente.
Como eu pegar um tipo de retorno do load e nele o atributo que passei no request através do doGet do servlet ?