Sei que para alguns minha dúvida pode ser meio básica. E tomara que seja mesmo…rs
Estou com um problema ao realizar uma pesquisa em minha página transacoes.xhtml.
Tenho um campo inputText com o id “pesquisa” e faço uma pesquisa no banco ignorando os acentos para que o usuário possa fazer a sua pesquisa com ou sem acentos.
Segue o código do transacoes.xhtml (apenas o codigo do campo de pesquisa)
<p:watermark value="Inserir nome do estabelecimento, valor ou categoria da transação e clique em pesquisar" for="pesquisa"/>
<p:inputText size="100" id="pesquisa" style="border: 1px solid #0070ba !important" value="#{logadoControlador.filtrosMov}" />
<br/>
<br/>
<p:commandButton value="Pesquisar" actionListener="#{logadoControlador.movimentacaoFiltro}"
ajax="false"/>
O problema é que no controler eu retiro os acentos do filtro antes de fazer a pesquisa . Ao exibir o resultado da pesquisa na tela, o valor do campo digitado no filtro atualiza para o novo valor sem acento, valor esse que não é o que o uauário digitou.
Segue o código onde retiro os acentos do filtro (LogadoControlador.java)
private String filtrosMov;//recebe o valor do filtro que o usuário digitou
public String getFiltrosMov() {
return filtrosMov;
}
public void setFiltrosMov(String filtrosMov) {
this.filtrosMov = removeAccents(filtrosMov);
}
//removendo a acentuação do filtro
public static String removeAccents(String str) {
str = Normalizer.normalize(str,Normalizer.Form.NFD);
str = str.replaceAll("[^\\p{ASCII}]", "");
return str;
}
private List<Movimentacao> retornoBusca;
//aqui eu chamo o facade que vai realizar a busca sem os acentos
public void movimentacaoFiltro() {
retornoBusca = new ArrayList<>();
if (filtrosMov != null && !filtrosMov.isEmpty()) {
retornoBusca = logadoFacade.filtraMovimentacoes(filtrosMov.trim(), getClienteLogado());
}
}
public List<Movimentacao> getRetornoBusca() {
return retornoBusca;
}
public void setRetornoBusca(List<Movimentacao> retornoBusca) {
this.retornoBusca = retornoBusca;
}
Não sou muito experiênte em JSF, e gostaria que alguem me desse uma dica de como manter o valor original digitado no campo “pesquisa” ao retornar para minha página transacoes.xhtml.
Alguém pode me ajudar?
