Alert em JSP

Boa tarde. Achei um tópico parecido, mas como não consegui perguntar lá porque já estava fechado, tive que criar esse.
Seu guinte: criei uma página .jps que deve receber um dado qualquer, fazer uma validação no back-end e depois disso tenho que devolver a mesma página com uma resposta. A validação seria no caso da pessoa estar tentanto inserir um mesmo “nome” que já foi cadastrado anteriormente. O algoritmo seria mais ou menos assim:

  • user insere o dado “nome” na tela;
  • a tela faz um post e passa ao back-end o dado para ser pesquisado no banco;
  • caso o dado ainda não exista: retornar uma tela com “sucesso”;
  • caso JÁ exista: retornar a MESMA tela com um alert, dizendo que a pessoa deve preencher o campo nome novamente pois tentou inserir um que já existe;

Quem puder ajudar, agradeço!

Você está usando apenas servlet e jsp ou usa, também, JSTL/EL?
A forma de fazer se dará em duas etapas, de duas maneiras diferentes, dependendo do que você está usando:
1 - Essa não depende da tecnologia em uso: você vai colocar duas String na sessão: status e mensagem. Caso dê tudo certo, o status será igual a “SUCCESS” e a mensagem será “Sucesso”, Casi contrário, status será “ERROR” e mensagem “Nome inserido já existe. Insira um outro nome”.

2 - Este depende da tecnologia.
Se for jsp pura, será necessário utilizar scriptlet. Caso esteja usando JSTL, pode usar taglibs e EL.

1 curtida

Olha… não sei te dizer se o projeto tem esse “JSTL”, onde eu posso verificar isso?
De qualquer forma, você poderia passar o código JavaScript para fazer isso? (se for no caso nº 1, por exemplo)

O javascript sempre será o mesmo, para alerts, não acha?

alert("A mensagem que eu quero que seja apresentada num alert");

A questão começa no java:

HttpSession session=request.getSession();  
session.setAttribute("status", "SUCCESS");//ou session.setAttribute("status", "ERROR");
session.setAttribute("mensagem", "Sucesso");//ou session.setAttribute("mensagem", "Nome já inserido. Informe outro");

Aí, na JSP

<%
    String status = (String) session.getAttribute("status");
    String msg = (String) session.getAttribute("mensagem");

    if("SUCCESS".equals(status)) {
       alert(msg);
    } else if("ERROR".equals(status)){
        alert"(Erro: " + msg);
    }
%>