JSF getParameter URLEncode

1 resposta
Childrico

Pessoal estou passando um parametro String com acento pelo <h:commandLink>, so que quando vou recuperar este parametro a String vem de forma diferente pois o jsf usa o Encode ou não? caracteres especiais html?..

Passando o parametro:

<h:commandLink value="#{i18n[‘BUTTON_Excluir’]}" action="{entretenimentoAcao.desativarProgramacao}" styleClass=“link_excluir”>

<f:param name=“nomeAtracao” value="#{element.atracao}" />

</h:commandLink>

Recuperando o parametro:

String parameter = getParameter(“nomeAtracao”);

System.out.println(parameter);
//parametro passado: Programação 1
//retorno do parametro : Blá Blá Blá

String parametroRetorno = “Programação 1”;

Na minha Ação:

String encode = “UTF-8”;

//String encode = “US-ASCII”;

//String encode = “UTF-16BE”;

//String encode = “UTF-16”;

//String encode =“UTF-16LE”;
String parametroEncode = URLEncoder.encode(parametroRetorno , encode);

System.out.println(parametroEncode);

// passando o encode UTF-8=> Programa%C3%A7%C3%A3o+1

// diferente do parametro que recebo no getParameter()!

// já tentei com todos os outros Encode e nenhum fica dessa forma:blá blá blá
String parametroDecode =  URLDecoder.decode(parametroEncode, encode);

//Decodificando o parametro: Programação 1

System.out.println(parametroDecode);

Já usei estes tipos de Encode e o valor não fica igual ao valor que pego no getParameter();

Alguém pode me ajudar a resolver este problema? qual Encode o JSF usa?
Agradeço pela atenção!

1 Resposta

Childrico

Ja resolvi…

HTMLEncoder.encode();

Abraço!

Criado 10 de outubro de 2007
Ultima resposta 10 de out. de 2007
Respostas 1
Participantes 1