Página JSF não sei palavras com acentuação corretas?

2 respostas
P

Olá,

minha configuração do Eclipse está assim :

Wndowns - Preferences - general - Workspace

EExt file enconding = UTF-8

mas o codigo abaixo está visualizando na tela a palavra Mãe assim Mãe

Alguém já passou por isso e poderia me ajudar …

<?xml version="1.0" encoding="ISO-8859-1"?> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:rich="http://richfaces.org/rich" xmlns:t="http://myfaces.apache.org/tomahawk" xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" xmlns:demoiselle="http://www.frameworkdemoiselle.gov.br">
<ui:composition template="/public/templates/default.xhtml">
<ui:define name="body">
<h:form>
<demoiselle:useJs all="true">
</demoiselle:useJs>

<div style="padding: 10px; text-align: right;">
<t:commandButton  title="Limpar" tabindex="1" styleClass="botaoComun" value="Limpar" id="F2"/>

<t:commandButton  title="Pesquisar" tabindex="2" styleClass="botaoComun" value="Pesquisar" id="F3"/>

</div>

<rich:panel  styleClass="richPanelStyleClass" bodyClass="richPanelBodyClass" headerClass="richPanelHeaderClass">
<div>
<fieldset >
<legend>
<h:outputLabel  for="alunoMB_aluno_nome" styleClass="outputLabel" value="Nome"/>

</legend>
<t:inputText  id="alunoMB_aluno_nome" tabindex="3" styleClass="inputText" value="#{alunoMB.aluno.nome}"/>
</fieldset>

</div>
</rich:panel>

<rich:panel  styleClass="richPanelStyleClass" bodyClass="richPanelBodyClass" headerClass="richPanelHeaderClass">
<rich:dataTable  width="100%" summary="Lista de alunoMB.aluno" styleClass="richDataTableStyleClass" value="#{alunoMB.listAluno}" headerClass="richDataTableHeaderClass" rowClasses="richDataTableRowClassFirst, richDataTableRowClassSecond" columnClasses="richDataTableColumnClass" var="element" rowKeyVar="row" id="elementList">
<rich:column >
<f:facet  name="header">
<t:outputText  value=" "/>
</f:facet>
<t:outputText  styleClass="outputText" value="#{row+1}"/>
</rich:column>
<rich:column >
<f:facet  name="header">
<t:outputText  value="Nome"/>
</f:facet>
<t:outputText  styleClass="outputText" value="#{element.nome}"/>
</rich:column>
<rich:column >
<f:facet  name="header">
<t:outputText  value="Pai"/>
</f:facet>
<t:outputText  styleClass="outputText" value="#{element.pai}"/>
</rich:column>
<rich:column >
<f:facet  name="header">
<t:outputText  value="Mãe"/>
</f:facet>
<t:outputText  styleClass="outputText" value="#{element.mae}"/>
</rich:column>
<rich:column >
<f:facet  name="header">
<t:outputText  value="Nascimento"/>
</f:facet>
<t:outputText  styleClass="outputText" value="#{element.nascimento}"/>
</rich:column>
<rich:column >
<f:facet  name="header">
<t:outputText  value="Alterar"/>
</f:facet>
<a4j:commandLink  title="Alterar" tabindex="4" value="Alterar" action="#{alunoMB.preAlterar}">
<f:setPropertyActionListener  target="#{alunoMB.aluno}" value="#{element}"/>
</a4j:commandLink>
</rich:column>
<rich:column >
<f:facet  name="header">
<t:outputText  value="Excluir"/>
</f:facet>
<a4j:commandLink  title="Excluir" tabindex="5" value="Excluir" action="#{alunoMB.preExcluir}">
<f:setPropertyActionListener  target="#{alunoMB.aluno}" value="#{element}"/>
</a4j:commandLink>
</rich:column>
</rich:dataTable>
</rich:panel>

</h:form>

</ui:define>

</ui:composition>

</html>

2 Respostas

jpjcjbr

Boa tarde,

Eu já tive este problema, eu resolvi criando um filtro para interceptar as requisições e fazendo o filtro executar o seguinte código request.setCharacterEncoding("utf-8");

Código do filtro:

public class FiltroApp implements Filter {
		
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		request.setCharacterEncoding("utf-8");
        chain.doFilter(request, response);
	}	
	
	public FiltroApp() {
	}
	
	public void destroy() {
	}
	
	public void init(FilterConfig fConfig) throws ServletException {
	}

}

Para o filtro funcionar você deve declará-lo no seu arquivo web.xml

<filter>
	    <display-name>FiltroApp</display-name>
	    <filter-name>FiltroApp</filter-name>
	    <filter-class>FiltroApp</filter-class>
	  </filter>
	  <filter-mapping>
	    <filter-name>FiltroApp</filter-name>
	    <url-pattern>/*</url-pattern>
	    <dispatcher>REQUEST</dispatcher>
	    <dispatcher>FORWARD</dispatcher>
</filter-mapping>
Flavio_Almeida

Amigo, você está usando na página

<?xml version="1.0" encoding="ISO-8859-1"?>

Mas seu IDE está gravando em UTF. Ou você usa UTF nos dois ou ISO-8859-1.

Abraço

Criado 19 de janeiro de 2011
Ultima resposta 19 de jan. de 2011
Respostas 2
Participantes 3