anchor.diff:  
   === La página de detalle: trabajo.xhtml.
   
  -Como hemos visto esta pantalla es más compleja que la de maestro y su complejidad dependerá del número y tipo de relaciones de la entidad que queremos gestionar.
  -
  -Veamos los aspectos generales primero y luego los detalles más destacables. Usaremos la misma página tanto para la edición como para la creación de una entidad Trabajo. Veamos la secuencia de acciones que ocurren cuando navegamos a la página de detalle, tanto en el caso de una edición como en el caso de una creación. Recordemos que lo que tenemos es una Initial Request.
  -
  -En primer lugar una instancia del backing bean es creada. Justo después se ejecuta el método anotado con @PostConstruct, que crea una instancia  de la entidad gestionada, Trabajo. A continuación se acualiza el modelo con el valor del parámetro `idTrabajo` si existe, y finalmente se ejecuta el método especificado en la etiqueta `viewParam`:
  +Como hemos comentado esta pantalla es más compleja que la de maestro y su complejidad dependerá del número y tipo de relaciones de la entidad que queremos gestionar.
  +
  +Usaremos la misma página tanto para la edición como para la creación de una entidad Trabajo. Veamos la secuencia de acciones que ocurren cuando navegamos a la página de detalle, tanto en el caso de una edición como en el caso de una creación. Recordemos que lo que tenemos es una Initial Request.
  +
  +En primer lugar una instancia del backing bean es creada. Justo después se ejecuta el método anotado con _@PostConstruct_, que crea una instancia  de la entidad gestionada, Trabajo. A continuación se acualiza el modelo con el valor del parámetro _idTrabajo_ si existe, y finalmente se ejecuta el método especificado en la etiqueta _viewParam_:
   
   [source,xhtml,indent=0]
   ----
  
positive.code: 
  Como vemos lo único que hace es navegar a la página de creación / edición del detalle. Para esto se usa la etiqueta `button`, no la `commandButton`. Es necesario enviar un parámetro en la request que indique el Trabajo que se va a editar. Se lleva a cabo por tanto una Initial Request a la página de detalle.
  
  Por último el botón Borrar genera, al igual que el botón Ver, una Postback Request, que como ya sabemos, inicará un ciclo completo de JSF. Será un ciclo Ajax, que es el comportamiento por defecto para los botones en Primefaces. En la fase Invoke Application de este ciclo se llamará al método de borrado `trabajosBean.eliminar(trabajo)` del backing bean. El código completo es:
  
  [source,xhtml,indent=0]
  ----
  
negative.code: </p:commandButton>
  ----
  
  La secuencia de acciones tras pulsar el botón sería la siguiente: La etiqueta `setPropertyActionListener` actualiza la variable del Modelo `trabajosBean.trabajoSeleccionado` del que tira el cuadro de diálogo. La llamada Ajax actualiza el panel de datos `:formulario:trabajoDetail` y finalmente el diálogo es mostrado con la llamada Javascript `PF('trabajoDialog').show()`. Lo que tenemos es una Postback Request a la propia página.
  
  El botón +++<span class="boton">+++Editar+++</span>+++ sí lleva a cabo una navegación. El código es el siguiente:
  
  [source,xhtml,indent=0]
  ----
  