2012-01-13 18 views
5

tôi thấy rằng có hai cách để thiết lập một responsePage trong WebPage Wicket của:SetResponsePage trong Wicket

setResponsePage(new MyPage()); 

hoặc

setResponsePage(MyPage.class); 

sự khác biệt giữa hai là gì?

Trả lời

9

Thứ nhất sẽ chuyển hướng đến URL có thể đánh dấu trang.

Vui lòng xem thêm Wicket FAQ.

+0

Dù bằng cách nào, Wicket chuyển hướng tôi đến một URL bookmark . Trang có cần một hàm tạo đặc biệt để chuyển hướng đến một URL không đánh dấu được không? – rotsch

2

doc Wicket của sais nó tốt nhất:

"setResponsePage (MyWebPage mới()) (hoặc setResponsePage (MyWebPage mới (myPageParameters))) có thể được sử dụng nếu bạn muốn có một url bookmark trong trình duyệt (trang của bạn phải có hàm tạo mặc định hoặc hàm tạo PageParameter) setResponsePage (MyWebPage.class) có thể được sử dụng nếu bạn muốn chuyển thông tin đến các trang trên máy chủ. Điều này tạo ra một url cụ thể của phiên (hầu hết thời gian bạn có thể sử dụng chiến lược mã hóa url lai) . "

here

1

Sự khác biệt là bạn có thể gửi các thông số để .setResponsePage (mới WebPage (p1, p2, p3)) và trong .setResponsePage(WebPage.class) bạn không thể.

Nếu bạn gắn một trang, .setResponsePage([WebPage.class])2 sẽ gửi cho một người sử dụng url bạn định nghĩa trong WicketApplication, khi bạn gắn trang làm một cái gì đó như:

public void init() { 

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


} 
+1

Tôi nghĩ bạn sai: SetResponsePage của Component có cả hai giao diện, setResponsePage (java.lang.Class cls) cũng như setResponsePage (tham số java.lang.Class cls, PageParameters). Không cần phải gọi WebPage mới để thêm thông số trang. –

Các vấn đề liên quan