Olá,
Preciso imprimir o valor retornado por um backing bean, mas de forma formatada.
O valor armazenado é um valor que contém vário caracteres de dois-pontos (:), quero transformar todos em espaços. Este é um dos pontos, outros podem trocar caracteres distintos a este.
Fiz então uma classe que contém um método genérico para isto:
package meudir.utilidade;
public abstract class GeneralMethods {
public static String replaceString(String input, String oldChar, String newChar){
String newString = input.replaceAll(oldChar, newChar);
return newString;
}
}
No meu managed bean, então incluí a chamada ao método, desta forma:
public String getReplaceString(){
String input = JsfHelper.getRequestParameter("Value");
String oldChar = JsfHelper.getRequestParameter("Ch1");
String newChar = JsfHelper.getRequestParameter("Ch2");
return GeneralMethods.replaceString(input, oldChar, newChar);
}
Mas na minha página jsf é mostrada uma excessão, dizendo que os parâmetro não foram enviados para o método.
<h:outputText value="#{MB.replaceString}" >
<f:param name="Value" value="#{MB.Name}"/>
<f:param name="Ch1" value=":"/>
<f:param name="Ch2" value=" "/>
</h:outputText>
Sei que o parâmetro não vai mesmo ser enviado, porque não está sendo feito um submit.
Mas esta é uma tela que mostra resultados, portanto, não deve mesmo ter um submit.
Não sei que alternativa poderia tomar para resolver isto desta forma.
Um abraço!