JSF Тринидад tr: inputText обрезка - PullRequest
1 голос
/ 12 апреля 2011

Когда пользователь вставляет пробелы во входные данные, сгенерированные tr: inputText и отправляет форму, я получаю значение, которое было отправлено в JSF-конвертере (мой конвертер не выполняет обрезку), установленное на входе.Но я получаю нулевое значение (исходное значение, которое поступило на вход) в управляемый компонент.

Страница JSF:

<tr:inputText label="..."
  value="#{ManagedBean.object.defaultValue}" id="defValueId"
  converter="#{MyConverter}">
  <tr:validateLength maximum="255"/>
  <f:attribute name="domainId" value="domainId"/>
</tr:inputText>

Когда я использую h: inputText, я получаю переданное значениена мой управляемый бин.

Почему и где Тринидад игнорирует пробелы?Могу ли я изменить что-либо, чтобы оно работало как для h: inputText.

Примечание: я использую JSF 1.2 и Тринидад 1.2.13.Я не решаю здесь проблему пустой строки в ноль.

1 Ответ

3 голосов
/ 01 августа 2011

В языке выражений JSF (EL) мы могли бы дополнительно использовать функции языка выражений JSF.Язык выражений, поддерживаемый Facelets, называется Unified Expression Language.Поэтому, если мы хотим вызвать функцию обрезки в inputText:

<h:inputText value="#{trim[ramdomText]}"/>

Дополнительная информация: http://java.sun.com/products/jsp/reference/techart/unifiedEL.html

...