anchor.diff:  
   En general para las acciones de borrado, ya sea físico o lógico, es conveniente presentar un cuadro de diálogo de confirmación al usuario. En Primefaces es muy fácil de implementar usando un cuadro de diálogo global.
   
  -Bien, nos queda por ver los dos botones a nivel de página `Salir` y `Crear`. Como véis en la figura que muestra el diseño de la página, he colocado estos botones encima del listado de Trabajos, creo que así se mejora la experiencia de usuario ya que los botones siempre van a estar en la misma posición independientemente del número de filas del listado y además se muestran en una posición más accesible, sobre todo en pantallas de tamaño reducido.
  -
  -El botón Salir simplemente navega a la página de inicio:
  +Bien, nos queda por ver los dos botones a nivel de página, Salir y Crear. Como véis en la figura que muestra el diseño de la página, he colocado estos botones encima del listado de Trabajos, creo que así se mejora la experiencia de usuario ya que los botones siempre van a estar en la misma posición independientemente del número de filas del listado y además se muestran en una posición más accesible, sobre todo en pantallas de tamaño reducido.
  +
  +El botón +++<span class="boton">+++Salir+++</span>+++ simplemente navega a la página de inicio:
   
   [source,xhtml,indent=0]
   ----
   <p:button value="Salir" outcome="/index" />
   ----
   
  -Y el botón `Crear ` es igual de simple, navega a la misma página a la que nos lleva el botón `Editar` pero sin especificar ningún parámetro:
  +Y el botón +++<span class="boton">+++Crear+++</span>+++ es igual de simple, navega a la misma página a la que nos lleva el botón Editar pero sin especificar ningún parámetro:
   
   [source,xhtml,indent=0]
   ----
  
positive.code: 	</f:metadata>
  ----
  
  El método `trabajosBean.actualizaModeloTrabajos()` realiza una llamada a la capa de servicio y actualiza el Modelo en el backing bean de la capa de presentación. Lo siguiente es que la página es renderizada en el servidor en la fase de Render Response. Durante esta fase entran en juego los bindings establecidos en la tabla dataTable, que tiran del Modelo para renderizar cada campo de datos de cada Trabajo. En el siguiente trozo de código aparece el binding para la primera columna de la tabla:
  
  [source,xhtml,indent=0]
  ----
  
negative.code: 
  === La página de detalle: trabajo.xhtml.
  
  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]
  ----
  