Как перебрать коллекцию или массив значений для отображения данных, используя jsf 2.2 DataTable и facelets? - PullRequest
0 голосов
/ 05 июня 2019

Я хочу отправить запрос MySQL и отобразить результаты в виде данных.

Я использую jsf 2.2 и сервер Glassfish 4.1.1.Я проверил несколько тем на этом веб-сайте, но не смог найти, что я делаю неправильно, и начал пытаться адаптировать проект этого веб-сайта:

http://www.java2s.com/Tutorials/Java/JSF/1900__JSF_DataTable_Add_Delete.htm

Итакв основном я использовал код в UserBean.java, но вместо использования demo.xhtml я использую свой собственный xhtml, который также основан на нем:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"   
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets">
    <h:head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta>
    </h:head>
    <h:body>


        <h:dataTable value="#{book.bookList}" var="o"
                     styleClass="book-table"
                     headerClass="book-table-header"
                     rowClasses="book-table-odd-row,book-table-even-row">
            <h:column>
                <f:facet name="header">Book No</f:facet>#{o.bookNo}
            </h:column>
            <h:column>
                <f:facet name="header">Product Name</f:facet>#{o.productName}
            </h:column>
            <h:column>
                <f:facet name="header">Price</f:facet>#{o.price}
            </h:column>
            <h:column>
                <f:facet name="header">Quantity</f:facet>#{o.qty}
            </h:column>
            <h:column>
                <f:facet name="header">Action</f:facet>
                <h:commandLink value="Delete" action="#{book.deleteAction(o)}" />
            </h:column>
        </h:dataTable>

    </h:body>
</html>

Но вместо отображения таблицы, подобной этой:

Book No Product Name    Price     Quantity      Action
1       CSS             123.12    1             Delete
2       HTML            321.12    2             Delete
3       SQL             12333.3   8             Delete
4       Javascript      1233.33   3             Delete
5       Web             123.22    10            Delete

Я понял:

Book No#{o.bookNo} Product Name#{o.productName} Price#{o.price} Quantity#{o.qty} Action

Итак, я предполагаю, что мне не хватает банки или библиотеки?проект включает в себя множество из них, в то время как у меня есть только один: mysql-connector-java-8.0.15.jar.

Для начала я хотел бы знать, какие библиотеки требуются для выполнения этой операции, так как япросто не хочу копировать / вставлять все, не зная, для чего он используется.

Заранее спасибо.

...