Mi cursada - UNQ‎ > ‎Clases‎ > ‎Bitácoras‎ > ‎Bitácora 2s 2013‎ > ‎

Clase 9

publicado a la‎(s)‎ 16 oct. 2013 15:25 por gisela decuzzi   [ actualizado el 16 oct. 2013 15:29 ]
Mencionamos RAD: Rapid Application Development
Wicket:
Framework basado en componentes
Hecho en Java
Proyecto on-going
Wicket NO pertenece a la idea de frameworks RADs

Creacion de un proyecto Wicket para java, usamos el archetype: org.apache.wicket wicket-archetype-quickstart
Estructura de la una aplicacion wicket:
  •  Application que hereda de WebApplication, responsabilidad principal:
    • redefinir getHomePage
  • Pagina que hereda de Page
    • se instancian y crean componentes y agregandose al contenedor. Todo componente tiene un ID
  • .html con codigo "pseudo" html
    • MUY acoplado con la clase java
    • referencia los componentes por ID 
    • pseudo porque en realidad no es el html que viaja al cliente, tiene tags y atributos especiales que usa el framework
  • Ideas de Wicket y la vista
    • html limpio
    • permite que el html + css sea manejado por el diseñador u otra persona
    • el contenido estatico lo reemplaza en runtime, pero se pone contenido para que sea visible
    • en el html SOLO se define layouts y se agregan componentes (con el estilo que se necesite)
    • en el .java se instancian los componentes y se define el comportamiento en caso de ser necesario
    • El html y el java asociado a ese html son ambos parte de la vista
  • Error que les va a pasar seguido:
    • Crean un componente en la parte java (el Page), pero NO lo pusieron en el HTML
  • Vimos como muestra la informacion wicket y maneras de vincular los datos
    • Hablamos de la diferencia entre setear un valor y tener un modelo atras de un contador
    • Vimos la interfaz IModel y su relacion con los binding de Arena 
  • Hablamos un poquito de la navegación en Wicket
    • vimos que a la pagina le podiamos decir: setResponsePage(..) y hablamos de la difrencia entre pasarle como parametro la clase de la pagina (instancia una nueva pagina) y la instancia de una pagina
    • notamos que por default si no indicamos a donde redireccionar se "autoredirecciona" a la misma instancia de la pagina
  • Mostramos un ejemplo cambiando un link común en uno ajax
    • Ojo con algunas cosas:
      • siempre hay que agregar al target lo que vamos a querer actualizar
      • si un componente lo vamos a querer actualizar hay que mandarle el mensaje setOutputMarkupId con true como parámetro
Comments