tenho uma lista que foi retornada da base de dados e está sendo exibida na tela.
O problema é que tenho um campo que pode estourar o tamanho da tela.
(h:outputText)
Pensei em criar um converter que “trunca” esse campo.
Então eu usaria:
f:converter converterId=“MeuConverter”.
Funcionaria perfeitamente,
mas tenho várias telas que podem ter campos com tamanhos diferentes, logo, esse converter não seria sempre eficiente.
Tem alguma maneira de passar parâmetro para o converter como é feito em outros nativos do jsf?
Exemplo o pattern do convertNumber
Pois assim eu conseguiria passar o numero de casas que eu quero, e ele faria o substring retornando o texto.
Sem ser essa maneira, alguém sabe outra maneira de limitar o número de letras?
Isso funciona perfeitamente para CPF, pois a formatação seria sempre a mesma.
Sairia 000.000.000-00.
Meu problema:
Dentro da minha aplicação tenho várias telas e em algumas delas, o texto pode estourar o tamanho da tela.
Como cada campo tem um número diferente de caracteres, o que eu queria fazer é ter um converter que recebe como parâmetro o número que ele tem que truncar, exemplo:
Nome
<h:outputText value="#{managedBean.texto}">
<f:converter converterId="truncar" param="15"/>
</h:outputText>
Converter:
public String getAsString(FacesContext arg1, UIComponent arg2,
Object valor) throws ConverterException {
***Receber o parâmetro***
return valor.toString().substring(0,param).
}