表头取自与 ui:repeat 一起使用的列表项

发布于 2024-10-30 18:00:36 字数 462 浏览 1 评论 0原文

假设我有以下 Book 类,

class Book{
    String author;
    String title;
}

我检索了 Book 列表 ( List ),并且我想将其显示在表格中,就像

author1:
    title1
    title11

author2:
    title2
    title22
    title222

我正在考虑创建一个 hashmap 映射author =>;书籍清单,但是,正如我在 SO 中读到的那样,hashmap 不受支持 h:datatable,也不在 ui:repeat 中。

关于如何实现这一目标有什么建议吗?

谢谢。

PS:我使用的是jsf 1.2,

欢迎提出更好的标题

Let's say I have the following class Book

class Book{
    String author;
    String title;
}

I retrieve a list of Book ( List<Book> ) and I want to display it in a table like

author1:
    title1
    title11

author2:
    title2
    title22
    title222

I was thinking to create a hashmap mapping author => list of books but , as I have read in SO, hashmap is not supported in
h:datatable, nor in ui:repeat.

Any tips on how to achieve this?

Thank you.

PS: I am using jsf 1.2

Feel free to suggest a better title

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑,眼淚并存 2024-11-06 18:00:39

我认为您必须调整数据模型才能将其放入 h:dataTable 中。

我建议创建一个包含书籍列表的 Author 类:

class Author{
  String name;
  List<Book> books;
  ..
  // getters and setters
}

然后您可以基于 List构建嵌套数据表。作者列表(未测试):

<h:dataTable value="#{bean.authorList}" var="author">
  <h:column>
    <h:outputText value="#{author.name}"/>
    <h:dataTable value="#{author.books}" var="book">
      <h:column>
        <h:outputText value="#{book.title}"/>
      </h:column>
    </h:dataTable>  
  </h:column>
</h:dataTable>

I think you have to adapt your data model in order to get it into a h:dataTable.

I suggest to create a class Author with a list of books:

class Author{
  String name;
  List<Book> books;
  ..
  // getters and setters
}

Then you can build a nested dataTable based on a List<Author> authorList (not tested):

<h:dataTable value="#{bean.authorList}" var="author">
  <h:column>
    <h:outputText value="#{author.name}"/>
    <h:dataTable value="#{author.books}" var="book">
      <h:column>
        <h:outputText value="#{book.title}"/>
      </h:column>
    </h:dataTable>  
  </h:column>
</h:dataTable>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文