2010-07-20 9 views
17

Estoy entrando en Google Web Toolkit, y estoy un poco confundido acerca de los puntos de entrada en GWT. docs de Google dicen:Múltiples puntos de entrada en GWT

Si tiene varios puntos de entrada (la interfaz que define onModuleLoad()) dentro de un módulo, todos ellos serán llama en secuencia tan pronto como el módulo (y el documento externa) está listo. Si carga varios módulos GWT en la misma página, se llamará a cada EntryPoint de módulo tan pronto como el módulo y el documento externo estén listos. No está garantizado que los EntryPoints de dos módulos se activen al mismo tiempo o en el mismo orden en el que se especificaron los scripts de selección en la página de host.

Entonces, ¿cada página en su sitio web necesita un punto de entrada definido para ello?

¿NECESITA realmente un punto de entrada cuando tiene javascript generado basado en sus clases de Java?

¿Puede combinar varias definiciones autogeneradas-js en un único archivo * .gwt.xml?

EDIT: Enlace a la fuente citada: http://code.google.com/webtoolkit/doc/1.6/DevGuideOrganizingProjects.html

Gracias!

Respuesta

10

La manera más directa de hacer una aplicación GWT es tener una sola página para toda la aplicación, y un solo nivel superior module (definido en un .gwt.xml file). Cada módulo tiene una sola clase EntryPoint. Entonces, todas sus diferentes "páginas" son subsecciones de la misma página, idealmente utilizando el mecanismo de historial de GWT para realizar un seguimiento de los cambios de estado que en una aplicación web que no sea AJAX serían páginas nuevas. Entonces, si configura las cosas de esta manera, necesitará un EntryPoint para toda su aplicación.

El bit de los documentos que citó (¿vínculo?) Analiza lo que creo que es un caso de uso avanzado, donde tiene más de un módulo que está cargando en una sola página.

+0

Interesante, puedo ver cómo funcionaría cuando su menú de navegación determina qué se muestra en el panel de contenido principal (en un diseño de página "estándar"), pero si algunas páginas rompen este diseño (es decir, la página de inicio de sesión) ¿necesita un punto de entrada separado para tales páginas? – Adam

+0

Ok, entonces, después de pensar en mi pregunta de la página de inicio de sesión, parece que la siguiente configuración tiene sentido: - Página de inicio de sesión - El usuario ingresa sus criterios OpenID, presiona el envío de formulario, que llama a un servlet de autenticación. Luego de una autenticación exitosa, dirige al usuario hacia el EntryPoint de la aplicación (diremos que es un Tablero de Control de algún tipo); si la autenticación falla, el servlet devuelve un mensaje a la página de inicio de sesión para su visualización. Me imagino que esto tiene sentido ya que no desea cargar el archivo js de la aplicación a menos que esté seguro de que el usuario podría autenticarse. La autenticación en sí misma es bastante unidimensional. – Adam

+1

Esa sería una buena forma de hacerlo. Otra forma es hacer que todo, incluida la página de inicio de sesión, forme parte de su aplicación GWT y use Code Splitting para asegurarse de que solo se cargue la funcionalidad de inicio de sesión (consulte http://code.google.com/webtoolkit/ doc/latest/DevGuideCodeSplitting.html) – aem

-1

hay una opción, U puede crear un proyecto de maven con subproyectos, significa que U puede crear múltiples puntos de entrada,
cada punto de entrada tiene su propio html. See more details

+1

¿Podría incluir algún contenido de la página a la que apunta su enlace? Esto agregará un contexto a su respuesta y seguirá teniendo sentido si el enlace puede morir en el futuro. –

Cuestiones relacionadas