JSF komponent Table

0

Witam,

mam do napisania aplikację webową w Javie z przy użyciu JSF.
W aplikacji mają się znaleźć komponenty wyświetlający dane z bazy danych - w moim przypadku będzie to table.
Bez problemu mogę dodać do tabeli dane przez przeciąganie z zakładki services (Netbeans) odpowiednich tabel na komponent.
Teraz chciałbym jednak dodawać dane do tabeli bardziej dynamicznie.
W jaki sposób mogę z poziomu kodu zbindować dane do tabeli przy użyciu bazy danych?
Pisałem coś podobnego w .necie + C# i tam dla komponentu gridview wystarczy ustawić datasource i wywołać metodę dataBind();

czekam na jakiekolwiek przykłady lub linki :)

0

polecam 'JSF in Action' wydawnictwa Manning, raptem 900stron, ale potem nie będziesz pisał postów o przeciąganieu czegoś w NetBeansie, bez obrazy... a tak konkretnie, tworzysz sobie jakiegoś ManagedBeana (chyba ze już takowego masz) i albo łączysz przez atrybut binding=... element dataTable ze stronki jsp z obiektem HtmlDataTable w tymże beanie, albo też piszesz jakąś fajną metode getCostam, którą wywołujesz jako atrybut value=... tejże tabeli

pzdr.

0
gosc_portalu napisał(a)

polecam 'JSF in Action' wydawnictwa Manning, raptem 900stron, ale potem nie będziesz pisał postów o przeciąganieu czegoś w NetBeansie, bez obrazy... a tak konkretnie, tworzysz sobie jakiegoś ManagedBeana (chyba ze już takowego masz) i albo łączysz przez atrybut binding=... element dataTable ze stronki jsp z obiektem HtmlDataTable w tymże beanie, albo też piszesz jakąś fajną metode getCostam, którą wywołujesz jako atrybut value=... tejże tabeli

pzdr.

Sęk w tym, że ja właśnie nie chcę przeciągać niczego w NetBeansie tylko po prostu zbindować do komponentu tabeli dane z poziomu kodu.
Niestety komponent table nie posiada żadnego atrybutu "value" jak napisałeś.
Nie dostrzegam też żadnej metody, która pozwala na bezpośrednie przypisanie mu jakiegos zestawu danych.
Gdyby było to takie oczywiste jak to przedstawiłeś - nie potrzebowałbym pytać o to na tym forum.

Więc ponawiam prośbę do tych, którzy wiedzą jak pobrane wartość z bazy danych wstawić do pustej tabeli na stronie.

0

managedBean to klasa zerejestrowana w faces-config.xml

w tym beanie robisz metodegetKolekcja() i ma ona zwracac kolekcje obiektow ktoore chcesz wyswietlac w tabeli wazna jest wielkos liter, np.: value="#{mojManagedBean.kolekcja}" i metoda getKolekcja

<h:dataTable value="#{mojManagedBean.kolekcja}" var="loc">
                      <h:column>
                          <f:facet name="header" >
                              <h:outputText value="Naglowek 1"/>
                          </f:facet>    
                          <h:outputText value="#{loc.attrybut1}"/>
                      </h:column>
                      <h:column>
                          <f:facet name="header" >
                              <h:outputText value="Naglowek2"/>
                          </f:facet>    
                          <h:outputText value="#{loc.atrybut2}"/>
                      </h:column>                                
                  </h:dataTable>  

albo

aby dostac sie do samej tabeli z kodu beana musisz zadeklarowac w niem obiekt klasy HtmlDataTable i dopisac settera i gettera do niego

<h:dataTable var="item" value="#{MyBean.items}"
binding="#{MyBean.dataTable}" >
<h:column>
 <h:outputText value="#{item.productName}"/>
</h:column>
<h:column>
 <h:outputText value="#{item.productName}"/>
</h:column>
</h:dataTable>   

1 użytkowników online, w tym zalogowanych: 0, gości: 1