我在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>
在这个问题中有一个类似的问题
当你动态显示某个组件时,它应该被包装在一个panelGroup中,并且该panelGroup应该有渲染属性集。
解决:我在面板组中添加了值
<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>