我使用h:datatable显示数据库表中的值,一个tupple显示在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>
答案 0 :(得分:1)
更改数据模型,以便将所有元组字段作为一维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>