2 actions ao mesmo tempo

8 respostas
P

Olá pessoal,

Como faço para executar duas actions ao mesmo tempo?

Uma enviará os dados para um servlet, e a outra é uma tela para mostrar que o arquivo está “carregando” (.jsp).

8 Respostas

W

A princípio é melhor usar ajax. Quando o usuário clicar no botão para submeter os dados, você intercepta a requisição com Javascript (evento onSubmit) e altera o html para exibir o status de progresso (se quiser pode fazer outra requisição pra carregar esta tela, embora eu considere pior), depois faz a requisição para enviar os dados.

Use o JQuery para facilitar. O método $.POST envia os dados.

B

Não tem jeito, só se criar outro framework hehehe

Mas você pode contonar isso criando um método que tenha a lógica das “duas actions”

Y

Você quis dizer thread?

Se sim, a lógica é simples, basta enviar os dados normal mas antes disso iniciar uma nova thread pra exibir o carregando.

P

Amigos... eu quero algo simples, pq na verdade quero que mostre uma gif enquanto não recebe o retorno do Servlet...
Pode ser até um pop up, só não to sabendo implementar....

quando clico no botão , mando para a servlet, só que "arrumei" esse jeito de criar um jsp novo mostrando a mensagem de carregando e a gif, enquanto o servlet não manda a resposta (que será uma tela de erro ou sucesso)

<%@ page import ="br.com.simcard.Upload" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script>

</script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>SIM Cards</title>
</head>

<style type=text/css>
.canto {
	top: 15px;
} 
</style>

<body> 
	<center>
		<form name="form1" id="form1" action="ServletUpload" method="post" enctype="multipart/form-data">
			<br>
			<input type="hidden" name="hiddenfield1" value="ok">
				Arquivo para Upload : 
			<input type="file" size="50" name="file1" title="Clique para procurar arquivo" >
			<br>
			<br>
			<button title="Clique para carregar arquivo" type="submit" value="Upload"></button>
		</form>
		<br>
		<div class="canto"><img src="./img/portoSeguro.jpg" border="0" width="310" height="434"></div>
	</center>	
</body>
</html>
R

Eu daria uma lida sobre o ajax do jquery ou do js mesmo, dah para fazer isso tudo que voce citou de forma simples …

W

Fazer transferência de arquivos via AJAX sem HTML5 é um pouco complicado (na realidade não tem como, o que se faz é uma gambiarra com iframes). Mas tem uns plugins pra jQuery que facilitam. Dá uma olhada neste:

http://blueimp.github.com/jQuery-File-Upload/

Tem até a barra de progresso que você precisa. :smiley:

P

Valeu pessoal, vou dar umas olhadas… mas não quero nada de muito complexo, pois isso é mais um “enfeite”…

Valeu mesmo pela força

P

Cara, olhei nesse site do Jquery, é bem interessante… só que ele mostra a barra de progresso e o carregando, pelo tamanho do arquivo, e o meu é o processamento que faz a imagem ficar parada… por isso acho que tinha que ter uma função sei lá, que rode o processamento e ao mesmo tempo chame esta página de carregando

Criado 5 de dezembro de 2012
Ultima resposta 5 de dez. de 2012
Respostas 8
Participantes 5