我有以下类文件:
class RowData {
...
ArrayList<String> valueMap;
...
}
class Bean {
...
public List<RowData> getData() {
...
}
}
jsf代码段:
...
<h:form>
<rich:dataTable id="overviewTable" value="#{bean.getData()}" var="row">
<c:forEach items="#{row.valueMap}" var="r">
<rich:column>
<h:outputText value="#{r}" />
</rich:column>
</c:forEach>
</rich:dataTable>
</h:form>
...
不幸的是,该表没有出现。怎么了?该页面未显示错误或其他内容,表格不存在(在此版本中,我跳过了所有的getter和setter ...)。当我想从bean访问其他数据时,它可以工作,因此整个设置应该可以。
最佳答案
您不应在“ getData()”中写“ get”和“()”,
另外,我认为您不需要数据表中的“ foreach”
看这个例子
http://richfaces-showcase.appspot.com/richfaces/component-sample.jsf?demo=dataTable&sample=tableStyling&skin=blueSky
<rich:dataTable value="#{carsBean.allInventoryItems}" var="car"
id="table" rows="20" rowClasses="odd-row, even-row"
styleClass="stable">
<rich:column accept="#{carsFiteringBean.acceptVendor}">
<f:facet name="header">
<h:outputText value="Vendor " />
</f:facet>
<h:outputText value="#{car.vendor}" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Model" />
</f:facet>
<h:outputText value="#{car.model}" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Price" />
</f:facet>
<h:outputText value="#{car.price}" />
</rich:column>
<rich:column filter="#{carsFilteringBean.mileageFilterImpl}">
<f:facet name="header">
<h:outputText value="Mileage" />
</f:facet>
<h:outputText value="#{car.mileage}" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="VIN " />
</f:facet>
<h:outputText value="#{car.vin}" />
</rich:column>
</rich:dataTable>
</h:form>
关于java - jsf中的数据访问问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7109753/