Вопрос

Пытаюсь сохранить все материалы презентации в xhtml в этом проекте, и мне нужно отформатировать некоторые значения в теге SelectItem, которые имеют значение BigDecimal и должны выглядеть как currency.Есть ли в любом случае возможность применить <f:convertNumber pattern="$#,##0.00"/> Внутри <f:selectItem> пометка?

Есть какой-нибудь способ сделать это или обойти его, который не включает в себя включение этого в java-код?

Это было полезно?

Решение

Проведя здесь еще несколько исследований, я почти убежден, что это невозможно при текущей реализации JSF.Просто нет возможности преобразовать значение.

http://java.sun.com/javaee/javaserverfaces/1.2/docs/tlddocs/f/selectItem.html

tld показывает itemLabel собственность как являющаяся ValueExpression и содержание в организме <f:selectItem> как нечто пустое.Таким образом, внутри одного из этих тегов не должно быть ничего, и метка должна указывать на дословное значение в модели Java.Таким образом, он должен быть отформатирован исходя из Java-модели.

Другие советы

будучи новичком в jsf, у меня была похожая проблема, возможно, мое решение полезно, возможно, оно не в "духе jsf".

я только что создал пользовательский taglib и расширил класс (в моем случае org.apache.myfaces.component.html.ext.HtmlCommandButton) и переопределил установщики для применения пользовательских параметров.

так что вместо <t:commandButton/> я использовал <mytags:commandButton/>, который настолько гибкий, насколько я хочу.

Вы могли бы настроить конвертер с таким шаблоном, но это звучит как полная противоположность тому, что вы хотите.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top