在JSF中格式化日期以放入<p:tab title =“”>属性</p:tab>

时间:2014-01-31 11:43:08

标签: java jsf date

我想将从我的数据库返回的日期放入我的标签的title属性中。我遇到的问题是它以非常丑陋的方式从数据库中回来;

2013年10月4日星期五00:00:00 GMT 2013

现在,当我把它放在输出文本标签内时,我可以轻松地格式化这个;

<h:outputText style="color:red;" value="#{email.emailDate}">
  <f:convertDateTime pattern="dd/MM/yyyy" />
</h:outputText> 

这确切地说明了我想要的方式,但是我无法将输出文本标签放在我的p:tab&gt;的标题属性中

<p:tab title="#{email.headline}&#10;#{submissionDate}"  titleStyleClass="email-header">

我已经尝试将日期变回一个变量,然后在那里格式化它但它似乎没有认识到我想要格式化它仍然以丑陋模式回来但我的语法很可能是错误的;

<ui:param name="submissionDate" value="#{email.emailDate}">
    <f:convertDateTime value="#{email.emailDate}" pattern="dd/MM/yyyy" type="date" /> 
</ui:param>

有关在前端格式化它而不是必须在managedBean中更改它的任何建议吗?

1 个答案:

答案 0 :(得分:2)

使用Omnifaces,您可以实现所需的目标。请参阅以下示例代码:

示例代码

<c:set var="emailDate"
    value="#{of:formatDate(email.emailDate, 'dd/MM/yyyy')}" />

<h:outputText title="#{emailDate}" value="#{emailDate}" />

生成的代码

...
<span title="31/01/2014">31/01/2014</span>
...