Bom dia a todos,
Tenho um popup que é um cadastro de clientes.
Neste popup tenho os campos do meu cadastro e um botão gravar.
Quando clico em gravar, chamo o Servlet que realiza os processos de gravação.
O problema é que quando eu chamo o servlet através do POPUP, ele abre uma nova janela.
Gostaria de saber como faço para depois de eu gravar, o servlet contunuar sendo chamado dentro do popup.
Obrigado!
PW2
como vc esta chamando este servlet ? pelo action do form ou por função java script?
Tenho no meu JSP um botão com Action = “./MeuServlet”
Quando clico no botão ele chama o servlet e executa certinho a minha gravação e da uma mensagem de “Cadastrado com Sucesso.”
O que eu quero é que quando eu clicar no botão ele execute o Servlet e mostre a mensagem no mesmo popup do cadastro.
Abraços!
Sinceramente acredito que deveria ter um filtro impedindo a visualização de topicos com “Urgente” ou escrito inteiro com letras maiusculas para destaque.
Agora da duvida, em um trabalho escolar lembro de ter feito algo semelhante, mas o servlet continuava a execução no popup/janela aberta, não chamando outro.
Da uma olhada em comportamento javascript associado a action, pode ser de lá esse comportamento.
Abaixo o meu JSP que está sendo aberto dentro do POPUP. É um cadastro de sistemas.
[code]<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1”
pageEncoding=“ISO-8859-1”%>
Cadastro de Sistemas
Cadastro de Sistemas
Descrição do Sistema
[/code]
Abaixo o meu código do Servlet que é chamado.
[code]protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Session session = new ConexaoBD().getConexao();
SistemaDAO sistemaDAO = new SistemaDAO(session);
Sistema objSistema = new Sistema();
objSistema.setDsc_sis(request.getParameter("edtDscSistema"));
sistemaDAO.Salvar(objSistema);
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("Cadastrado com Sucesso");
out.println("</body>");
out.println("</html>");
}[/code]
Quando clico em gravar no popup ele abre uma outra tela com o “Cadastrado com Sucesso”. Gostaria que o resultado so Servlet fosse aberto no mesmo POPUP.
Obrigado!
como você faz a chamada da página de cadastro para abrir em outra janela?
fiz um teste aqui e não tive problemas.
veja como eu fiz:
index.jsp
<%@ page contentType="text/html" pageEncoding="UTF-8" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Teste</title>
</head>
<body>
<h1>Teste!</h1>
<a>Cadastro</a> <!-- abro a tela de cadastro em outra janela usando href="window.open('cadastro.jsp')" -->
</body>
</html>
cadastro.jsp
<%@ page contentType="text/html" pageEncoding="UTF-8" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Teste - Cadastro</title>
</head>
<body>
<h1>Teste - Cadastro</h1>
<form action="cadastrar" method="post">
Teste: <input name="teste" type="text"><br>
<input type="submit" value="Cadastrar">
</form>
</body>
</html>
Cadastrar.java
[code]package teste;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
@WebServlet("/cadastrar")
public class Cadastrar extends HttpServlet {
private static final long serialVersionUID = 4129273033550352803L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("\t<body>");
out.println("\t\tCadastrado.");
out.println("\t</body>");
out.println("</html>");
}
}[/code]
No meu caso, o Cadastrado com sucesso é abaero em outra página. Queria que ele fosse aberto no mesmo POPUP que já está aberto.
Meu popup é aberto a partir de um link.
<a href=javascript:abrir('FrmCadastroSistemas.jsp');>Cadastrar Sistemas</a>