2012-01-13 7 views
5

widziałem, że istnieją dwa sposoby, aby ustawić responsePage w internetowej przejściowymi za:SetResponsePage w Wicket

setResponsePage(new MyPage()); 

lub

setResponsePage(MyPage.class); 

Jakie są różnice między tymi dwoma?

Odpowiedz

9

Pierwsza z nich przekieruje do niezmiennego adresu URL.

Zobacz także Wicket FAQ.

+0

czy inaczej, Furtka przekierowuje mnie do ustawić zakładki URL . Czy strona wymaga specjalnego konstruktora, aby przekierować do nieklasycznego adresu URL? – rotsch

2

doc przejściowymi za sais to najlepiej:

„setResponsePage (nowa MyWebPage()) (lub setResponsePage (nowa MyWebPage (myPageParameters))) mogą być stosowane, jeżeli chcesz mieć jako zakładki URL w przeglądarce (strona musi mieć domyślny konstruktor lub konstruktor PageParameter) setResponsePage (MyWebPage.class) może być użyty, jeśli chcesz przekazać informacje do stron na serwerze, generuje adres URL specyficzny dla sesji (w większości przypadków możesz użyć hybrydowej strategii kodowania adresów URL) . "

here

1

Różnica polega na tym, że można wysłać parametry .setResponsePage (nowa WebPage (P1, P2, P3)) oraz w .setResponsePage(WebPage.class) nie można.

Jeśli zamontować stronę, .setResponsePage([WebPage.class])2 wyśle ​​użytkownika do adresu URL określonego w WicketApplication, gdy zamontowane na stronę robi coś takiego:

public void init() { 

this.mountPage("/myPage", **WebPage.class**) 


} 
+1

Myślę, że się mylisz: Element setResponsePage komponentu ma oba interfejsy, setResponsePage (java.lang.Class cls), a także setResponsePage (java.lang.Class cls, parametry PageParameters). Nie ma potrzeby wywoływania nowej strony internetowej w celu dodania parametrów strony. –