我有这样的datatable。
<p:dataTable value="#{noteMB.noteList}" var="noteItem" id="noteListTable"
rowKey="#{noteItem.hashCode()}" selectionMode="single" selection="#noteMB.selectedNote}" paginator="true" rows="10" paginatorPosition="top"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15">
<p:column width="300">
<f:facet name="header">
<h:outputText value="#{noteItem.name == 'blabla' ? 'true' : 'false' }" />
</f:facet>
<h:outputText value="#{noteItem.code}" />
</p:column>
</p:dataTable>
我的问题:为什么noteItem在facet name="header "区域为null ?
noteItem是你的var条目。
var="noteItem"
这个var属性应该是用来保存每行的变量项。dataTable
.var会遍历你的每一个项目。noteList
.
正如丹尼尔所说,在 h:facet
标签,甚至没有开始创建行。它是每一列的主头,在那里实际上没有可数据化的行,因此你在那里得到的是空值。
简而言之,你不能访问在facets中由var属性给出的对象。面是独立于行的.