Ajax

9 respostas
Eduardo_Bregaida

Olá pessoal preciso fazer uma tabela que tem Editar e Excluir.

É assim, tenho campos que trazem os dados em uma tabela e queria criar um link que exclui as linhas e outro que altera.

Está tudo em JSF, Hibernate.

Gostaria de fazer tbm com AJAX, mas como eu coloco AJAX nesse projeto?

Alguem sabe aonde eu posso achar um exemplo em Ajax para fazer o meu???

Vlwwww :roll:

9 Respostas

Mauricio_Linhares

Veja isso: https://ajax4jsf.dev.java.net/

R

voce pode usar o ajaxanywere ! ele integra bem com o JSF e é possivel fazer isso que vc esta dizendo dessa forma:

<aa:zoneJSF id="customersZone">
   <%@ include file="customers.jsp" %>
</aa:zoneJSF>

O customer.jsp contem o seu h:dataTable aonde vc pode editar e excluir os registros usando ajax + JSF

Eduardo_Bregaida

Estou usando o Ajax for JSF a4jsf, coloquei as bibliotecas no projeto mas ele nao ta achando…

Eduardo_Bregaida

Heero Yuy:
Estou usando o Ajax for JSF a4jsf, coloquei as bibliotecas no projeto mas ele nao ta achando…


Ta dando um erro no Eclipse e nem compila…

nicoweda

Cara, por experiência propria eu te diria o seguinte…
Se você tiver a oportunidade de utilizar alguma ferramenta pronta para Ajax, faça isso!!!
Um otimo exemplo é o GWT (Google Web Toolkit)!

Agora caso você não tenha mais esta opção dependendo da quantidade de coisas que utilizam Ajax, eu diria pra você fazer tudo na mão que é mais rápido.

Segue abaixo um exemplo de como excluir uma linha com Ajax…

Código Javascript para excluir a linha

function excluirLinha(codigo){ var ajaxObj = ajaxOpen("url");//COLOQUE AQUI A URL PARA A SUA SERVLET ajaxObj.onreadystatechange=function() { if (ajaxObj.readyState==4){ var resposta = eval(ajaxObj.responseText); document.getElementById("tabela").deleteRow(resposta.index); } } ajaxObj.send(null); }

Código Javascript para pegar um objeto XmlHttpRequest

function ajaxOpen(url){ var ajaxObj=false; url=contexto+url; if(window.XMLHttpRequest) { ajaxObj = new XMLHttpRequest(); if(ajaxObj.overrideMimeType) { ajaxObj.overrideMimeType('text/xml'); } } else if(window.ActiveXObject) { // IE try { ajaxObj = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajaxObj = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } ajaxObj.open("GET",url,true); return(ajaxObj); }

Bom… nesse exemplo ao inves de utilizar o XML eu to utilizando o JSON.
Dá uma olhada em www.json.org.

Um abraço, espero que isso sirva como ajuda!

nicoweda

Resolvi colocar o codigo de uma Servlet para te ajudar!

Abraços

public class Excluir extends HttpServlet {

	public void doGet( HttpServletRequest request, HttpServletResponse response) throws IOException{
		long codigo = Long.parseLong(request.getParameter("codigo"));		
		//TODO: recupera o objeto a ser excluido e faz essa exlusão.
		//Devolve o numero da linha que deverá ser excluida ou qualquer ouutra informação para a interface.
    		JSONObject json = new JSONObject();
		json.put("index",index);
		response.getWriter().print(json);
	}
}
Eduardo_Bregaida

vlw, mas eu to com problema pra reconhecer a biblioteca.

nicoweda

Qual biblioteca?? a do JSON?

Se for isso, tira o JSON da historia e usa o index pra excluir a linha pelo Javascript mesmo!
Fica mais facil… Eu só quis incluir o JSON porque pode te auxiliar em problemas futuros!

Eduardo_Bregaida

Nao, a do A4JSF

Criado 15 de agosto de 2006
Ultima resposta 25 de ago. de 2006
Respostas 9
Participantes 4