java - 是否可以使用 jsf h :datatable 有多行

标签 java jsf

使用h:datatable我们可以如下显示数据

  1. 杰姆斯
  2. 汤姆
  3. children
  4. 哈利

但是我可以显示如下所示吗:

  1. 杰姆斯 2. 汤姆
  2. 克里斯 4. 哈里

拉加兹, 阿比

最佳答案

您可以在模型中管理它。

例如,将列表拆分成对:

public class PairedList<T> extends AbstractList<Pair<T>> {
  private final List<? extends T> data;
  private final T defaultVal;

  public PairedList(List<? extends T> data, T defaultVal) {
    this.data = data;
    this.defaultVal = defaultVal;
  }

  @Override public int size() {
    return (data.size() / 2) + (data.size() % 2);
  }

  @Override public Pair<T> get(int index) {
    int left = index * 2;
    int right = left + 1;
    return new Pair<T>(data.get(left), right >= data.size() ? defaultVal : data
        .get(right));
  }

  @Override public boolean addAll(Collection<? extends Pair<T>> c) {
    throw new UnsupportedOperationException();
  }
}

对类:

public class Pair<T> {

  private final T left;
  private final T right;

  public Pair(T left, T right) {
    this.left = left;
    this.right = right;
  }

  public T getRight() { return right; }
  public T getLeft() { return left; }
}

公开列表的托管 bean:

public class TwoPerRowBean implements Serializable {
  private final List<String> data = Arrays.asList("Jems", "tom", "chirs",
      "harry", "Barry");

  public List<Pair<String>> getPairedData() {
    return new PairedList<String>(data, "-");
  }
}

表格配置:

<h:dataTable value="#{twoPerRowBean.pairedData}" var="pair">
  <h:column> <h:outputText value="#{pair.left}" /> </h:column>
  <h:column> <h:outputText value="#{pair.right}" /> </h:column>
</h:dataTable>

关于java - 是否可以使用 jsf h :datatable 有多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1315357/

相关文章:

validation - 如何覆盖 OmniFaces 默认验证/转换错误消息?

jsf - 使用partialSubmit触发actionListener

java - 在 Java 中集成 LinkedIn 时出错

java - 通过 SMTP 发送 ICS 文件无法在 Outlook 中正确显示?

java - 在 java 应用程序中嵌入 Apache stanbol(Maven)

jsf - JSF ResourceBundle中的EL变量

java - Amazon Corretto 和 Java JDK 之间有什么区别?为什么我们使用 Amazon Corretto 专门开发企业应用程序?

java - IntelliJ 中的本地 Tomcat - 无法运行程序 catalina.bat

java - inputText 中有多个值? (JSF)

jsf - 了解 SelectItemGroup