Display Current Date on JSF Page

jsf-2

Is it possible to display the current date (today's) in JSF without using a backing bean?

I have the following code snippet , but it didn't work out.

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

or

<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>

Best Solution

You could register an instance of java.util.Date as a request scoped bean in 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>

This way it's available as #{currentDate} without the need for a custom backing bean class.


Update: the JSF utility library OmniFaces has such a bean already registered as #{now}. So if you happen to use OmniFaces already, you can just make use of it directly.

<h:outputText value="#{now}">
    <f:convertDateTime pattern="MM/dd/yyyy" type="date" />
</h:outputText>
Related Question