public Class getHomePage()
{
return Index.class; // klasa reprezentująca stronę główną
}
W rozdziale szczególna uwaga została skupiona na wyświetlaniu różnego rodzaju list. W Wicket jest to zadziwiająco przyjemne. Zacznijmy od prostej listy bez stronnicowania. Stworzymy plik Index.html i klasę z nim związaną Index. Najpierw trochę kodu:
Index.html
Index.html
A teraz trochę magii i Wicket na podstawie powyższego kodu stworzy ładną listę :)
<div wicket:id="books">
<h3 wicket:id="title">Tytuł książki</h3>
<p wicket:id="autor">Autor</p>
<p wicket:id="cena">Cena</p>
<a wicket:id="dodaj" href="#">do koszyka</a>
</div>
<wicket-remove>
<div wicket:id="books">
<h3 wicket:id="title">Tytuł książki</h3>
<p wicket:id="autor">Autor</p>
<p wicket:id="cena">Cena</p>
<a wicket:id="dodaj" href="#">do koszyka</a>
</div>
</wicket-remove>
Index:
public class Index extends WebPage {
public Index() {
add(new ListView("books",BookStoreApplication.get().getBooks()){
protected void populateItem(ListItem listItem) {
Book book = (Book) listItem.getModelObject();
listItem.add(new Label("tytul", book.getTitle()));
listItem.add(new Label("autor", book.getAuthor()));
listItem.add(new Label("cena", ""+book.getPrice()));
listItem.add(new Link("dodaj",listItem.getModel()){
public void onClick() {
Book selectedBook = (Book) getModelObject();
//teraz możemy dodać książkę np. do koszyka w sesji
}
});
}
});
Oczywiście należy się trochę wyjaśnień. Skąd wziąć listę książek? Oczywiście z bazy, ale można też np. w celach testowych w klasie aplikacji stworzyć sobie zwykłą listę. Do klasy tej mamy dostęp z poziomu wszystkich stron można więc umieścić w niej np. referencję do DAO. Ponadto w kodzie HTML da się zauważyć nowy znacznik
W kolejnej części relacji z rozdziału trzeciego znajdzie się kilka informacji na temat wykorzystania formularzy oraz zastosowania stronnicowanych list.
Brak komentarzy:
Prześlij komentarz