Chamada Servlet com Primefaces 3

1 resposta
furacao123

Como faço a chamada de um servlet por ajax no primefaces?

Meu ManagedBean

public void testeServlet(ActionEvent event) { String url = "http://localhost:8080/teste-servlet/calcula?operacao=soma&valor1=200&valor2=100"; FacesContext context = FacesContext.getCurrentInstance(); try { context.getExternalContext().dispatch(url); } catch (Exception e) { e.printStackTrace(); } finally { context.responseComplete(); } }

e no xhtml

<p:commandLink actionListener="#{usuarioController.testeServlet}" value="Calcular"/>

ele chama o metodo mas passa a seguinte url concatenada com a que estou no momento http:/localhost:8080/teste-servlet/calcula não encontrando o caminho, este servlet esta em uma aplicação fora da que estou rodando o primefaces

1 Resposta

furacao123

Consegui fazer a chamada ao servlet

public void testeServlet() throws IOException {
		URL url = new URL("http://localhost:8080/teste-servlet/calcula?operacao=soma&valor1=100&valor2=200");

	    URLConnection conn = url.openConnection();
	    conn.setRequestProperty("accept", "text/xml");
	    conn.connect();

	    BufferedReader br = new BufferedReader(
	        new InputStreamReader(conn.getInputStream()));  
	    String line = "";
	   
	    while((line = br.readLine()) != null) {
	        System.out.println(line);
	    } 
	}

Mas não existe uma forma melhor de fazer isso?

Criado 22 de maio de 2013
Ultima resposta 22 de mai. de 2013
Respostas 1
Participantes 1