Olá pessoal!
Meu projeto não estava configurado pra abrir uma página automaticamente, então alterei meu web.xml pra isso:
<?xml version="1.0" encoding="ISO-8859-1"?>
[...]
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.jspx</param-value>
</context-param>
<welcome-file-list>
<welcome-file>faces/login.jspx</welcome-file>
</welcome-file-list>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
[...]
Ok. Agora ao digitar http://localhost:8080/meuprojeto, a página login.jspx é aberta como esperado.
O problema é que isso está causando erros na exibição de imagens que o meu template.jspx usa. E antes funcionava.
No meu template tenho este trecho de código:
<?xml version="1.0" encoding="ISO-8859-1"?>
[...]
<f:facet name="controls">
<h:panelGroup>
<h:graphicImage
value="../imagens/erro.png"
id="hidelink" />
</h:panelGroup>
</f:facet>
[...]
Não importa como eu informe o caminho pra imagem, o seguinte erro é lançado ao tentar exibí-la no browser:
SEVERE: Error Rendering View[/imagens/erro.png]
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.arrangeCapacity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipString(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
[...]
E claro, a imagem não é exibida.
As imagens referenciadas nas páginas jspx que usam o template são exibidas sem problemas, somente as que são referenciadas dentro do template.jspx é que causam esse erro.
A estrutura de diretórios que estou utilizando é essa:
web
|___ templates
|___ imagens
|___ pages
login.jspx
Bom, já pesquisei e não encontrei nada que me ajudasse.
Estou utilizando ISO-8859-1 como codificação, mas tentei UTF-8 e nada resolveu.
Preciso de ajuda.
Agradeço antecipadamente por qualquer dica.
Obrigado.
Tecnologias utilizadas:
JSF 1.2; Facelets 1.1.14; RichFaces 3.3.0; Tomcat 6; Java 6.

