简体   繁体   中英

how to format jsf 2.0 <f:selectItems/> with date value from List

Im using jsf 2.0 to develop app where user has to select (using radio button) a date from the list of possible choices. List of dates is a managed bean property of type List< java.util.Date>. Im using facelets

<h:selectOneRadio value="#{banner_backing.selectedInterval}" border="1" layout="pageDirection">
        <f:selectItems value="#{banner_backing.avaliableIntervals}" var="interval">                    
                </f:selectItems>
</h:selectOneRadio>

to display radio buttons.

Here is my question: how to format selectItems label and value in a patter other then default (Fri May 28 00:00:00 CEST 2010), like 'HH:mm:ss dd/MM/yyyy'?

Not sure if you can do the conversion in xhtml using jsf. One way is to use SimpleDateFormat class in your bean and format values in bean itself and add it to the list avaliableIntervals

http://java.sun.com/javase/6/docs/api/java/text/SimpleDateFormat.html

Use a backing bean method to return a list of SelectItems , populated from your list of allowed Dates . Format the date as you like when you create the list of SelectItems .

This should do it.

<h:selectOneRadio value="#{banner_backing.selectedInterval}" border="1" layout="pageDirection">
     <f:convertDateTime type="date" dateStyle="short"/>
     <f:selectItems value="#{banner_backing.avaliableIntervals}" var="interval"/>                    
</h:selectOneRadio>

you can use pattern="" to do almost anything with the date.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM