我使用h:datatable显示数据库表中的值,一个元组显示在jsf页面的一行中,但我想在jsf页的单独一行中显示每个字段。我怎样才能做到这一点?
提前谢谢。
我在jsf页面中有以下代码。
<h:dataTable value="#{tableBean.pc}" var="p">
<h:column>
<h:graphicImage value="/resources/images/#{p.pimagename}" />
</h:column>
<h:column>
<h:outputText value="#{p.pname}" />
</h:column>
<h:column>
<h:outputText value="#{p.pprice}" />
</h:column>
<h:column>
<h:outputText value="#{p.pqtyavail}" />
</h:column>
</h:dataTable>
更改数据模型,使所有元组字段都成为一维List
:的单个条目
List<List<String>> tuples = getItSomehow();
List<String> fields = new ArrayList<String>();
for (List<String> tuple : tuples) {
fields.addAll(tuple);
}
并使用它。
<h:dataTable value="#{bean.fields}" var="field">
<h:column>#{field}</h:column>
</h:dataTable>
或者,引入HTML <br/>
元素,将每个元组字段放在单列的单独一行中。
<h:dataTable value="#{bean.tuples}" var="tuple">
<h:column>#{tuple[0]}<br/>#{tuple[1]}<br/>#{tuple[2]}</h:column>
</h:dataTable>