格式在JSF中输出date
如果#{myBean.birthdate}
是java.util.Calendar
或java.util.Date
types的,那么我可以使用一个现有的函数将其内部格式化为EL,或者使用类似于DateFormat
生成的输出SHORT
,中, LONG
ABD FULL
输出types?
而不是输出#{myBean.birthdate}
的完整forms: Wed Jan 19 19:01:42 WIT 2011 ,我只是喜欢2011年1月19日的简单输出。
我应该用#{formatBean.format(myBean.birthdate)}
来代替吗?
使用<f:convertDateTime>
。 您可以将其嵌套在任何input和输出组件中。 模式规则与java.text.SimpleDateFormat
相同。
<h:outputText value="#{someBean.dateField}" > <f:convertDateTime pattern="dd.MM.yyyy HH:mm" /> </h:outputText>
如果你使用OmniFaces,你也可以使用它的EL函数,如of:formatDate()
来格式化Date
对象。 你会这样使用它:
<h:outputText value="#{of:formatDate(someBean.dateField, 'dd.MM.yyyy HH:mm')}" />
这样,您不仅可以将其用于输出,还可以将其传递给其他JSF组件。
使用EL 2(expression式语言2),您可以使用这种types的结构来处理您的问题:
#{formatBean.format(myBean.birthdate)}
或者你可以添加一个替代的getter在你的bean导致
#{myBean.birthdateString}
getBirthdateString返回正确的文本表示。 如果它是一个实体,请记住将get方法注释为@Transient。