Pessoal estou com um dúvida... estou fazendo um site em java web, estou conseguindo.. alterar, consultar, excluir, cadastrar... tudo usando banco de dados.
Só que é o seguinte.... tipo tenho um botão onde excluo cliente.. na hora que clico em exclui ele exclui e me retorna a msg "Cliente excluido com sucesso"
só que essa msg está na servlet... Eu sei q tenho q fazer um sendredirect para retornar para minha página jsp...
o problema é que não sei como que faço para colocar está msg de "cliente excluido com sucesso" lá...
Poderiam me ajudar?
Segue a jsp...
<%@pageimport="java.util.ArrayList"%><%@pageimport="java.util.List"%><%@pageimport="javax.security.auth.callback.TextOutputCallback"%><%@pageimport="java.util.List"%><%@pageimport="modelo.cadastro_vo"%><%@pageimport="modelo.cadastro_dao"%><%@pageimport="java.util.List"%><%@taglibprefix="sql"uri="http://java.sun.com/jsp/jstl/sql"%><%@pagecontentType="text/html"pageEncoding="ISO-8859-1"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><linkhref="style.css"type="text/css"rel="stylesheet"/><title>..: So Entregas Cadastro:..</title><metaname="generator"content="editplus"/><metaname="author"content=""/><metaname="keywords"content=""/><metaname="description"content=""/></head><body><div><%if(session.getAttribute("obj_cad_vo")!=null){cadastro_voobj_cad_vo=(cadastro_vo)session.getAttribute("obj_cad_vo");%><formaction="/site_javaa/cadastro_servlet"method="post"name=""><table><tr><td> CNPJ</td><td><inputsize="70"type="text"name ="cnpj"value="<%=obj_cad_vo.getCnpj()%>"/></td></tr><td> CIDADE</td><td><inputsize="70"type="text"name ="cidade"value="<%=obj_cad_vo.getCidade()%>"/></td></tr><td> EMAIL</td><td><inputsize="70"type="text"name ="email"value="<%=obj_cad_vo.getEmail()%>"/></td></tr><td> ENDEREÇO</td><td><inputsize="70"type="text"name ="endereco"value="<%=obj_cad_vo.getEnd()%>"/></td></tr><td> ESTADO</td><td><inputsize="70"type="text"name ="estado"value="<%=obj_cad_vo.getEst()%>"/></td></tr><td> INSCRIÇÃO ESTADUAL</td><td><inputsize="70"type="text"name ="inscricao"value="<%=obj_cad_vo.getInscricao()%>"/></td></tr><td> RAZÃO SOCIAL</td><td><inputsize="70"type="text"name ="razao"value="<%=obj_cad_vo.getRazao()%>"/></td></tr><td> SENHA</td><td><inputsize="70"type="text"name ="senha"value="<%=obj_cad_vo.getSenha()%>"/></td></tr><td> DDD</td><td><inputsize="70"type="text"name ="DDD"value="<%=obj_cad_vo.getDdd()%>"/></td></tr><td> TELEFONE</td><td><inputsize="70"type="text"name ="telefone"value="<%=obj_cad_vo.getTel()%>"/></td></tr></table><inputtype="submit"name="act"value="alterar"/><inputtype="submit"name="act"value="excluir"/><!-- <a href="/site_javaa/cadastro_servlet?act=excluir&email=<%=obj_cad_vo.getEmail()%>">excluir</a>--></form><%}%></div></body></html>
é mais interessante utilizar o RequestDispatcher porque não é enviado nenhum status de redirecionamento para o navegador.
O RequestDispatcher somente passa o request e o reponse para outra pagina ou servlet executar o trabalho,
enquanto o sendRedirect envia um sinal para o navegador redirecionar para outra pagina.
C
cowboyctba
ok, entendi… mais dai como faço para trabalhar com essa linha?
<%=request.getAttribute("msg")%>
Mais está msg tenho que colocar em uma variavel?
Tipo quero fazer assim… if(msg)
cliente excluido
else
errro ao excluir!
como faço isso?
mathiasnw
No servlet você vai configurar o atributo como na mensagem acima e depois fazer o dispatcher.
request.setAttribute("msg","Minha Mensagem");
Na linha acima foi configurado um atributo “msg” com o valor “Minha Mensagem”.
mathiasnw
No seu caso não é melhor colocar um valor true e false.
No servlet
request.setAttribute("salvo",true || false);
Na Pagina
<%Boolean ok = (Boolean) request.getAttribute("salvo");%>
<%if(ok){%>
Cliente salvo com sucesso.
<%}else{%>
Erro ao salvar cliente
<%}%>
Outra coisa:
Tente estudar JSTL e EL, o codigo acima vai ficar muito mais simples.
C
cowboyctba
Na página jsp está dando um erro de “;” expected… desculpe mais não conheço JSTL
mathiasnw
Certo em qual linha está ocorrendo esse erro.
é naquela que começa com “<%=” ??
C
cowboyctba
na <%Boolean ok = (Boolean) request.getAttribute("salvo");%>
Está dando o erro de “;” expected.
E na
<%if(ok){%>
está dando erro de (symbol: variable ok)
mapleplayer
da uma olhada nesta apostila da caelum
você vai aprender Servlets, JSP, JSTL, EL e Struts 2 rapidinho, apostila fácil e rápida de ler, vale a pena
mathiasnw
Coloca o codigo todo.
C
cowboyctba
mapleplayer - eu já tenho essa apostila é muito boa recomendo...
Desculpe estava faltando fechar uma %>
Agora na hora que tento localizar cliente que redireciona para a mesma jsp está dando este erro:
descriptionThe server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: java.lang.NullPointerException
root cause
java.lang.NullPointerException
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.0.1 logs.
pagina jsp:
<%@pageimport="java.lang.Boolean"%><%@pageimport="java.util.ArrayList"%><%@pageimport="java.util.List"%><%@pageimport="javax.security.auth.callback.TextOutputCallback"%><%@pageimport="java.util.List"%><%@pageimport="modelo.cadastro_vo"%><%@pageimport="modelo.cadastro_dao"%><%@pageimport="java.util.List"%><%@taglibprefix="sql"uri="http://java.sun.com/jsp/jstl/sql"%><%@pagecontentType="text/html"pageEncoding="ISO-8859-1"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><linkhref="style.css"type="text/css"rel="stylesheet"/><title>..: So Entregas Cadastro:..</title><metaname="generator"content="editplus"/><metaname="author"content=""/><metaname="keywords"content=""/><metaname="description"content=""/></head><body><div><%if(session.getAttribute("obj_cad_vo")!=null){cadastro_voobj_cad_vo=(cadastro_vo)session.getAttribute("obj_cad_vo");%><formaction="/site_javaa/cadastro_servlet"method="post"name=""><table><tr><td> CNPJ</td><td><inputsize="70"type="text"name ="cnpj"value="<%=obj_cad_vo.getCnpj()%>"/></td></tr><td> CIDADE</td><td><inputsize="70"type="text"name ="cidade"value="<%=obj_cad_vo.getCidade()%>"/></td></tr><td> EMAIL</td><td><inputsize="70"type="text"name ="email"value="<%=obj_cad_vo.getEmail()%>"/></td></tr><td> ENDEREÇO</td><td><inputsize="70"type="text"name ="endereco"value="<%=obj_cad_vo.getEnd()%>"/></td></tr><td> ESTADO</td><td><inputsize="70"type="text"name ="estado"value="<%=obj_cad_vo.getEst()%>"/></td></tr><td> INSCRIÇÃO ESTADUAL</td><td><inputsize="70"type="text"name ="inscricao"value="<%=obj_cad_vo.getInscricao()%>"/></td></tr><td> RAZÃO SOCIAL</td><td><inputsize="70"type="text"name ="razao"value="<%=obj_cad_vo.getRazao()%>"/></td></tr><td> SENHA</td><td><inputsize="70"type="text"name ="senha"value="<%=obj_cad_vo.getSenha()%>"/></td></tr><td> DDD</td><td><inputsize="70"type="text"name ="DDD"value="<%=obj_cad_vo.getDdd()%>"/></td></tr><td> TELEFONE</td><td><inputsize="70"type="text"name ="telefone"value="<%=obj_cad_vo.getTel()%>"/></td></tr></table><inputtype="submit"name="act"value="alterar"/><inputtype="submit"name="act"value="excluir"/><!-- <a href="/site_javaa/cadastro_servlet?act=excluir&email=<%=obj_cad_vo.getEmail()%>">excluir</a>--></form><%}%><%Booleanok=(Boolean)request.getAttribute("salvo");%><%if(ok){%>
Cliente excluido com sucesso.
<%}else{%>
Erro ao salvar cliente
<%}%></div></body></html>
Galera é o seginte criei uma outra página exemplo.jsp... e redirecionei o meu sendredirect para ela...
dai coloquei lá o código como o amigo ai de cima tinha informado...
<%Booleanok=(Boolean)request.getAttribute("salvo");%><%if(ok){%> Cliente excluido com sucesso.<%}else{%> Erro ao salvar cliente<%}%>
Dai funcionou certinho....
mais quero isso na minha pagina retornaclientes.jsp
<%@pageimport="java.lang.Boolean"%><%@pageimport="java.util.ArrayList"%><%@pageimport="java.util.List"%><%@pageimport="javax.security.auth.callback.TextOutputCallback"%><%@pageimport="java.util.List"%><%@pageimport="modelo.cadastro_vo"%><%@pageimport="modelo.cadastro_dao"%><%@pageimport="java.util.List"%><%@taglibprefix="sql"uri="http://java.sun.com/jsp/jstl/sql"%><%@pagecontentType="text/html"pageEncoding="ISO-8859-1"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><linkhref="style.css"type="text/css"rel="stylesheet"/><title>..: So Entregas Cadastro:..</title><metaname="generator"content="editplus"/><metaname="author"content=""/><metaname="keywords"content=""/><metaname="description"content=""/></head><body><div><%if(session.getAttribute("obj_cad_vo")!=null){cadastro_voobj_cad_vo=(cadastro_vo)session.getAttribute("obj_cad_vo");%><formaction="/site_javaa/cadastro_servlet"method="post"name=""><table><tr><td> CNPJ</td><td><inputsize="70"type="text"name ="cnpj"value="<%=obj_cad_vo.getCnpj()%>"/></td></tr><td> CIDADE</td><td><inputsize="70"type="text"name ="cidade"value="<%=obj_cad_vo.getCidade()%>"/></td></tr><td> EMAIL</td><td><inputsize="70"type="text"name ="email"value="<%=obj_cad_vo.getEmail()%>"/></td></tr><td> ENDEREÇO</td><td><inputsize="70"type="text"name ="endereco"value="<%=obj_cad_vo.getEnd()%>"/></td></tr><td> ESTADO</td><td><inputsize="70"type="text"name ="estado"value="<%=obj_cad_vo.getEst()%>"/></td></tr><td> INSCRIÇÃO ESTADUAL</td><td><inputsize="70"type="text"name ="inscricao"value="<%=obj_cad_vo.getInscricao()%>"/></td></tr><td> RAZÃO SOCIAL</td><td><inputsize="70"type="text"name ="razao"value="<%=obj_cad_vo.getRazao()%>"/></td></tr><td> SENHA</td><td><inputsize="70"type="text"name ="senha"value="<%=obj_cad_vo.getSenha()%>"/></td></tr><td> DDD</td><td><inputsize="70"type="text"name ="DDD"value="<%=obj_cad_vo.getDdd()%>"/></td></tr><td> TELEFONE</td><td><inputsize="70"type="text"name ="telefone"value="<%=obj_cad_vo.getTel()%>"/></td></tr></table><inputtype="submit"name="act"value="alterar"/><inputtype="submit"name="act"value="excluir"/><!-- <a href="/site_javaa/cadastro_servlet?act=excluir&email=<%=obj_cad_vo.getEmail()%>">excluir</a>--></form><%}%><%Booleanok=(Boolean)request.getAttribute("salvo");%><%if(ok){%>
Cliente excluido com sucesso.
<%}else{%>
Erro ao salvar cliente
<%}%></div></body></html>
SEnão terei que ficar fazendo uma página separada pra cada método... aguem pode me ajudar???
C
cowboyctba
Ah o erro que retorna é este:
HTTP Status 500 -
type Exception report
message
descriptionThe server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: java.lang.NullPointerException
root cause
java.lang.NullPointerException
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.0.1 logs.
mathiasnw
Você precisa identificar qual variavel de referencia que está ‘null’.
Coloque a verificação abaixo:
<%if(ok!=null && ok.booleanValue()){%>
No Lugar de:
<%if(ok){%>
C
cowboyctba
ok.... fiz isso e consegui consultar o cliente....
me trouxe certinho o cliente.. mais lá no final da pagina apareceu "erro ao salvar cliente"
que é a msg depois do
<%if(ok!=null&&ok.booleanValue()){%> Cliente excluido com sucesso.<%}else{%> Erro ao salvar cliente<%}%>
C
cowboyctba
Alguma ajuda?
C
cowboyctba
help…
C
cowboyctba
Ningué pode de dar uma ajuda… não consegui ainda resolver o problema…
depois que faço a busca me retorna o cliente… mais fica aparecendo a msg lá em baixo de “cliente não salvo”
está msg é a que está na jsp no if.