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).
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).
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.
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”
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.
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>
Eu daria uma lida sobre o ajax do jquery ou do js mesmo, dah para fazer isso tudo que voce citou de forma simples …
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. 
Valeu pessoal, vou dar umas olhadas… mas não quero nada de muito complexo, pois isso é mais um “enfeite”…
Valeu mesmo pela força
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