У меня есть конвертер следующим образом, чтобы обрезать все начальные и конечные пробелы и удалить дополнительные пробелы между словами.
@ManagedBean
@ApplicationScoped
@FacesConverter(forClass=String.class)
public final class StringTrimmer implements Converter
{
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value)
{
return value != null ? value.trim().replaceAll("\\s+", " ") : null;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value)
{
return value!=null ? ((String) value).trim().replaceAll("\\s+", " ") : null;
}
}
Этот преобразователь применяется глобально ко всем свойствам строкового типа в связанных компонентах поддержки.
Иногда необходимо обойти этот преобразователь для определенных свойств, таких как «пароль», в которых не должны быть обрезаны или чередованы пробелы или дополнительные пробелы между словами соответственно.
Как можно обойти такие свойства строкового типа, чтобы к ним не применялся этот преобразователь?