-1

我需要创建一个结构如下所示的表:

+----+--------+
| ID | Values |
+----+--------+
|  1 | val 1  |
+----+--------+
|    | val2   |
+----+--------+
|    | val 3  |
+----+--------+
|  2 | val 4  |
+----+--------+
|    | val 5  |
+----+--------+

即第一列的值可以扩展到多行。

我的 JSF 对象是;

class abc {
    int id;
    String[] values;
}
4

2 回答 2

2

你会做这样的事情:

public class DataBean {
 private List<abc> list;

 public DataBean() {
  list = new ArrayList<abc>();
  populate(list); // method that populates your List
 }

 // getter and setters

在您的 .xhtml 页面中,您将执行以下操作:

<h:dataTable value="#{dataBean.list}" var = "item">
 <h:column>
  <f:facet name="header">
   <h:outputText value="Id" />
  </f:facet>
  <h:outputText value="#{item.id} />
 </h:column>
 <h:column>
  <f:facet name="header">
   <h:outputText value="Values" />
  </f:facet>
  <ui:repeat value="#{item.values}" var = "value">
   <h:outputText value="#{value} /><br />
  </ui:repeat>
 </h:column>
</h:dataTable>
于 2012-10-10T20:15:23.670 回答
0

我最终使用了 panelGrid 的 PrimeFaces 实现:

<p:panelGrid>
    <p:row>
        <p:column rowspan="2">Header 1</p:column>
        <p:column>attrib 1 1</p:column>
        <p:column>arrtib 1 2</p:column>
    </p:row>
    <p:row>
        <p:column>attrib 2 1</p:column>
        <p:column>arrtib 2 2</p:column>
    </p:row>
</p:panelGrid>
于 2012-10-19T14:59:56.813 回答