2012-01-13 15 views
5

vi que hay dos formas de establecer una responsePage en la página web de garaje: GraciasSetResponsePage en Wicket

setResponsePage(new MyPage()); 

o

setResponsePage(MyPage.class); 

¿Cuáles son las diferencias entre estos dos?

Respuesta

9

El primero redirigirá a una URL marcada.

Consulte también el Wicket FAQ.

+0

De cualquier manera, Wicket me redirige a una URL bookmarkable . ¿La página necesita un constructor especial para redirigir a una URL no marcable? – rotsch

2

doc de Wicket sais mejor:

"setResponsePage (nueva MyWebPage()) (o setResponsePage (nueva MyWebPage (myPageParameters))) se puede utilizar si usted quiere tener una URL bookmarkable en el navegador (página debe tener el constructor predeterminado o el constructor PageParameter). setResponsePage (MyWebPage.class) se puede usar si desea pasar información a páginas en el servidor. Esto genera una url específica de la sesión (la mayoría de las veces puede usar la estrategia de codificación de URL híbrida) "

here

1

La diferencia es que se puede enviar parámetros a .setResponsePage (nueva WebPage (p1, p2, p3)) y en .setResponsePage(WebPage.class) no se puede.

Si monta una página, .setResponsePage([WebPage.class])2 enviará un usuario a la URL que haya definido en el WicketApplication, cuando se ha montado la página haciendo algo como:

public void init() { 

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


} 
+1

Creo que está equivocado: setResponsePage del componente tiene ambas interfaces, setResponsePage (java.lang.Class cls), así como setResponsePage (java.lang.Class cls, parámetros de PageParameters). No es necesario llamar a una nueva página web para agregar parámetros de página. –