pessoal estou usando facelets e IceFaces mas não posso usar nenhum acento ou cedilha nas letras que aparece o seguinte erro
org.apache.jasper.JasperException: javax.faces.FacesException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
como posso resolver isso? preciso dos acentos na minha aplicação1
mude o encoding das tuas páginas jsf para iso-8859-1.
Espero ter ajudado
Mas como eu mudo?? eu nunca tinha usado facelets e nunca criei um documento Jsp.
aqui está a minha página:
[code]
<jsp:root
jsfc=“f:view”
xmlns:jsp=“http://java.sun.com/JSP/Page”
xmlns:f=“http://java.sun.com/jsf/core”
xmlns:h=“http://java.sun.com/jsf/html”
xmlns:ice=“http://www.icesoft.com/icefaces/component”
xmlns:ui=“http://java.sun.com/jsf/facelets”
xmlns:c=“http://java.sun.com/jstl/core”
xmlns:fn=“http://java.sun.com/jsp/jstl/functions”>
<ice:outputDeclaration
doctypeRoot=“html”
doctypePublic="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctypeSystem=“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”/>
ICEfaces, Ajax for Java EE
<body>
<p>Ç teste</p>
</body>
[/code]o
tentei usar um meta no HTML <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
mas não adiantou!
Agora não dá erro mas os caracteres aparecem estranhos!
Eu coloquei a linha abaixo no inicio do meu xhtml ou jspx e funfuou legal
<?xml version="1.0" encoding="ISO-8859-1" ?>
pois eu coloquei uma
<jsp:directive.page contentType=“text/html; charset=UTF-8”/>
e ele também dá erro!!
cara a sua solução funcionou mas apenas com UTF-8 e ainda assim só funciona se eu empacotar a solução em um ice:outputText/
se eu colocar normalmente como na página que eu mostrei acima aparecem caracteres estranhos!!
como faço para eles funcionarem em qualquer situação??
[quote=s3v3r1n0]pois eu coloquei uma
<jsp:directive.page contentType=“text/html; charset=UTF-8”/>
e ele também dá erro!!
cara a sua solução funcionou mas apenas com UTF-8 e ainda assim só funciona se eu empacotar a solução em um ice:outputText/
se eu colocar normalmente como na página que eu mostrei acima aparecem caracteres estranhos!!
como faço para eles funcionarem em qualquer situação??[/quote]
Passei por esse mesmo problema, resolvi usando message-bundle
Coloca <?xml version="1.0" encoding="ISO-8859-1" ?> no topo do jspx (caso esteja usando).
e no arquivo .properties pode colocar com acentos q funciona.
caso tenha duvidas de como usar o messa-bundle, aí vai um link.
http://www.laliluna.de/javaserver-faces-message-resource-bundle-tutorial.html
falow.
Message bundle é a melhor coisa pra resolver isso, mas se não der pra usar tenta fazer assim, a maioria dos componentes tem um atributo chamado escape. Sea ele para escape=false e os caracteres que vc precisa acentuar vc usa os codigos de caracter especial html
& c c e d i l;
& a t i l d e; e por ai vai.
Vai nafé que da certo.