JSF-在dataTable中的一列中渲染2个值

时间:2016-09-15 11:50:32

标签: java jsf xhtml

我在JSF中有一个dataTable,在一列中我必须呈现一个日期。要在页面中查看特定格式,我使用convertDateTime。问题是当validationDate加载此值时,它不会转换为我的模式。只有第一个值(stampoperation)(如果已加载)将转换为我的模式。

<t:dataTable value="#{ProductBean.viewByid}"
             var="item" border="0" cellspacing="2" cellpadding="2"
             width="100%" id="dtbl" headerClass="tableSotableHeader"
             preserveDataModel="false" 
             rowClasses="rowOdd,rowEven">
   <h:column>
      <f:facet name="header">
         <h:outputText value="State" />
      </f:facet>
   </h:column>
   <h:column>
      <f:facet name="header">
         <h:outputText value="Data start" />
      </f:facet>
      **<h:outputText value="#{item.stampoperation}" rendered="#{item.status!=15}" >
         <f:convertDateTime timeZone="#{UIBean.tz}" type="date" pattern="dd.MM.yyyy, HH:mm"/>
      </h:outputText>
      <h:outputText  value="#{item.validDate}" rendered="#{item.status==15}">
         <f:convertDateTime timeZone="#{UIBean.tz}" type="date" pattern="dd.MM.yyyy, HH:mm"/>
      </h:outputText>**
   </h:column>
</t:dataTable>

2 个答案:

答案 0 :(得分:1)

类似于此question

的问题

当您动态显示某个组件时,它应该包含在panelGroup中,并且该panelGroup应该具有渲染的属性集。

答案 1 :(得分:0)

解决:我将值放在面板组

<t:panelGroup id="x1">                                                                <h:outputText value="#{item.stampoperation}" rendered="#{item.status!=15}" >
         <f:convertDateTime timeZone="#{UIBean.tz}" type="date" pattern="dd.MM.yyyy, HH:mm"/>
      </h:outputText>
      <h:outputText  value="#{item.validDate}" rendered="#{item.status==15}">
         <f:convertDateTime timeZone="#{UIBean.tz}" type="date"  pattern="dd.MM.yyyy, HH:mm"/>
       </h:outputText>                                                            </t:panelGroup>