Формат даты вывода в JSF - PullRequest
       4

Формат даты вывода в JSF

56 голосов
/ 19 января 2011

Если #{myBean.birthdate} имеет тип java.util.Calendar или java.util.Date, могу ли я отформатировать это внутри самого EL, используя существующую функцию, возможно, с выводом, подобным тому, который был получен DateFormat * SHORT, MEDIUM, LONG abd FULL тип вывода?

Вместо вывода полной формы для #{myBean.birthdate}: Ср 19 января 19:01:42 WIT 2011 , я просто предпочитаю простой вывод 19 января 2011 .

Должен ли я использовать #{formatBean.format(myBean.birthdate)} вместо?

Ответы [ 3 ]

151 голосов
/ 19 января 2011

Использование <f:convertDateTime>.Вы можете вложить это в любой компонент ввода и вывода.Правила шаблона такие же как java.text.SimpleDateFormat.

<h:outputText value="#{someBean.dateField}" >
    <f:convertDateTime pattern="dd.MM.yyyy HH:mm" />
</h:outputText>
25 голосов
/ 16 декабря 2013

Если вы используете OmniFaces , вы также можете использовать его функции EL, такие как of:formatDate(), для форматирования Date объектов. Вы бы использовали это так:

<h:outputText value="#{of:formatDate(someBean.dateField, 'dd.MM.yyyy HH:mm')}" />

Таким образом, вы можете не только использовать его для вывода, но и передавать его другим компонентам JSF.

6 голосов
/ 09 июля 2011

С EL 2 (язык выражений 2) вы можете использовать этот тип конструкции для вашего вопроса:

    #{formatBean.format(myBean.birthdate)}

Или вы можете добавить альтернативный геттер в ваш бин, в результате чего

    #{myBean.birthdateString}

где getBirthdateString возвращает правильное текстовое представление. Не забудьте аннотировать метод get как @Transient, если это Entity.

...