rollei
#1
Pessoal dentro de um servlet estou dando um sendRedirect para uma pagina html
response.sendRedirect(request.getContextPath() + "/jsp/error.jsp?msg=Dados não encontrados.");
aqui o codigo da pagina:
[code]<%@ page contentType=“text/html”%>
<%@ page pageEncoding=“UTF-8”%>
<%@ taglib uri=“http://java.sun.com/jsf/core” prefix=“f”%>
<%@ taglib uri=“http://java.sun.com/jsf/html” prefix=“h”%>
<%@ taglib uri=“http://richfaces.org/a4j” prefix=“a4j”%>
<%@ taglib uri=“http://richfaces.org/rich” prefix=“rich”%>
SDP - Página de erro
<link href="/sdp/css/default.css" type="text/css" rel="stylesheet" />
<%System.out.println(request.getParameter("msg"));%>
</head>
<body>
<center>
<img src="/sdp/imagens/imagem.jpg">
<br />
<br />
<br />
<p><b>Teste</b></p>
<br />
<p style="color:red"><%=request.getParameter("msg")%></p>
</center>
</body>
[/code]
soh que a mensagem de erro não esta exibindo corretamente as acentuacoes etc … esta exibindo assim:
Dados n�o encontrados.
Alguem pode me dizer qual seria o problema?
Estou usando Netbeans 6.1, tomcat 6.0.16
Olá,
[code]<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> [/code]
Troque esse charset para ISO-8859-1 e tente novamente.
Flws!
rollei
#3
eu ja tinha tentado trocar
<%@ page pageEncoding="UTF-8"%>
e esse
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
por ISO-8859-1
Ele soh muda o tipo de interrogacao
com UTF-8: Dados n�o encontrados
com iso: Dados do n?o encontrados.
Eu faria algo do tipo;
String msg="Dados não encontrados";
request.setAttribute( "mensagem", msg);
response.sendRedirect(request.getContextPath() + "/jsp/error.jsp");
e depois
[code] <%@ page contentType=“text/html”%>
<%@ page pageEncoding=“UTF-8”%>
<%@ taglib uri=“http://java.sun.com/jsf/core” prefix=“f”%>
<%@ taglib uri=“http://java.sun.com/jsf/html” prefix=“h”%>
<%@ taglib uri=“http://richfaces.org/a4j” prefix=“a4j”%>
<%@ taglib uri=“http://richfaces.org/rich” prefix=“rich”%>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
“http://www.w3.org/TR/html4/loose.dtd”>
<%
String mensagem = (String) request.getAttribute(“mensagem”);
%>
<html>
<head>
<meta http-equiv=“Content-Type” content=“text/html; charset=UTF-8” />
<title>SDP - Página de erro</title>
<link href="/sdp/css/default.css" type="text/css" rel="stylesheet" />
<%System.out.println(request.getParameter("msg"));%>
</head>
<body>
<center>
<img >
<br />
<br />
<br />
<p><b>Teste</b></p>
<br />
<p ><%=out.print(mensagem);%></p>
</center>
</body>
</html>[/code]
rollei
#5
cara tentei fazer desse jeito que voce botou ae
ele esta imprimindo nulo.
no servlet
String msg = "Dados não encontrados.";
request.setAttribute("mensagem", msg);
response.sendRedirect(request.getContextPath() + "/jsp/error.jsp");
na pagina (teste):
<%
String mensagem = (String) request.getAttribute("mensagem");
System.out.println(mensagem);
%>
ta saindo null no console
tentei tambem fazer na pagina assim
<%
String mensagem = request.getParameter("mensagem");
System.out.println(mensagem);
%>
O código request.getAtribute(…) deve estar na página error.jsp
Uma boa maneirqa de corrigir seria voce codificar a acentuação do html e manter o formato UTF-8.
T+
Tente substituir o ‘ã’ por isso ‘ã’ e veja se dá certo.
[]'s
rollei
#9
testei na pagina de erro mesmo, para dar um sistem.out
rollei
#10
[quote=fbmanhani]Tente substituir o ‘ã’ por isso ‘ã’ e veja se dá certo.
[]'s[/quote]
quando eu coloco ã
ele simplesmente nao escreve nada depois do codigo a msg vem assim
“Dados n”
Na verdade eu tinha colocado um código… o html substituiu … :?
era assim: ‘& # 2 2 7 ;’
sem os espaços…
rollei
#12
[quote=fbmanhani]Na verdade eu tinha colocado um código… o html substituiu … :?
era assim: ‘& # 2 2 7 ;’
sem os espaços…
[/quote]
eu botei o codigo mesmo
rollei
#13
Dando aquele up
… rapaz … por enquanto vou tentar usar frases sem acentuacao … tipo “Favor, efetuar login” :DD
e as frases que nao der, vou deixar sem acento mesmo, se alguem poder me dar uma luz eu agradeco