Отображать текущую дату на странице JSF

Можно ли отображать текущую дату (сегодняшнюю) в JSF без использования вспомогательного компонента?

У меня есть следующий фрагмент кода, но он не сработал.

<div class="leftSide">Today's date #{currentDate}</div>

или же

<f:facet name="header">  
<h:outputText value="Today's date" />  
</f:facet>
<h:outputText value="#currentDate">
    <f:convertDateTime pattern="MM/dd/yyyy" type="date" />
</h:outputText>

Ответы на вопрос(4)

Вы можете использовать тег, который предоставляет PrimeFaces.

<p:clock pattern="HH:mm:ss dd-MM-yyyy"/>
 Mikaele08 февр. 2019 г., 16:50
Интересно
Решение Вопроса

Вы можете зарегистрировать экземплярjava.util.Date в качестве запроса определен бин вfaces-config.xml.

<managed-bean>
    <managed-bean-name>currentDate</managed-bean-name>
    <managed-bean-class>java.util.Date</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
</managed-bean>

Таким образом, это доступно как#{currentDate} без необходимости пользовательского класса бобов поддержки.

Обновить: служебная библиотека JSFOmniFaces имеет такой бобуже зарегистрирован как#{now}, Так что если вы уже используете OmniFaces, вы можете просто использовать его напрямую.

<h:outputText value="#{now}">
    <f:convertDateTime pattern="MM/dd/yyyy" type="date" />
</h:outputText>
 SJuan7623 мая 2012 г., 10:06
Я хочу режим фильтра Google для "ответил BalusC". Сэкономил бы мне много времени
 user115654405 апр. 2016 г., 16:31
А что будет делать Stackoverflow, когда вы отправитесь в отпуск?
 BalusC03 апр. 2016 г., 14:56
К счастью, мой псевдоним довольно уникален в мире (намеренно решен очень давно), поэтому просто добавьте "balusc" в качестве дополнительного поискового ключевого слова :)
 Namita09 февр. 2012 г., 06:28
Спасибо, сэр, вы снова спасли меня :)

используя Omnifaces. Я удивлен, что BalusC не рассказал вам об этом решении (я думаю, что он отличный разработчик Omnifaces). Может быть, это потому, что использование Omnifaces только для отображения простой даты на странице может быть излишним для некоторых.

Во всяком случае, если ваш проект уже используетOmnifacesЕсть 2 управляемых bean-компонента по умолчанию, и один из них вам может пригодиться. В соответствии стеговая документация указывает, что после добавления Omnifaces в ваш проект вы можете использовать#{now} управляемый боб.

Например, чтобы установить максимальную дату календаря Primefaces, я просто написал следующее:

    <p:calendar id="myCalendar" pattern="dd/MM/yyyy" 
                value="#{mybean.myDate}" maxdate="#{now}"/>

Я думаю,#{now} Управляемый компонент может использоваться во многих других ситуациях, и, вероятно, в вашей.

Если ваш проект еще не использует Omnifaces, я предлагаю вам взглянуть на их спецификацию и посмотреть, насколько это может быть полезно для вас. Например, я использую ихvalidateOrder отметьте, чтобы убедиться, что две даты правильно упорядочены.

 BalusC09 нояб. 2012 г., 15:26
OmniFaces еще не существовало в тот момент, когда я разместил ответ :)
 Buhake Sindi12 авг. 2013 г., 22:06
I think he's a great Omnifaces contributor, BalusC является автором OmniFaces. Это его ребенок.
 jpramondon09 нояб. 2012 г., 15:41
Тайна разгадана! ;) ... я не знал, что Omnifaces был так молод. В любом случае, это отличная работа!

session который обеспечивает доступ к текущемуHttpSession,HttpSession#getLastAccessedTime время ...

... возвращает последний раз, когда клиент отправил запрос, связанный с этим сеансом, в виде количества миллисекунд с полуночи 1 января 1970 года по Гринвичу и помечен временем, когда контейнер получил запрос.

Таким образом, вы можете использовать следующий фрагмент кода в вашем лицевой стороне:

<h:outputText value="#{session.lastAccessedTime}">
      <f:convertDateTime pattern="MM/dd/yyyy" type="date" />
</h:outputText>

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

Но вы также можете использовать решение javascript, как описано здесь:

Как получить текущую дату в JavaScript?

 Thiago Arrais31 июл. 2014 г., 20:26
Являетсяsession гарантированно существует (быть ненулевым) в каждом запросе?
 Stephan Rauh06 июл. 2015 г., 19:03
На самом деле lastAccessTime возвращает время предыдущего запроса. Это может быть пару минут от текущего времени.

Ваш ответ на вопрос