Dónde guardar los campos para un formulario de búsqueda

24 views
Skip to first unread message

patryalcala

unread,
May 11, 2011, 5:10:06 AM5/11/11
to fap-support
Hola,

Tengo una página donde deseo tener una serie de campos que me permitan
realizar un filtrado de expedientes. He creado una entidad noPersist
que almacena esos campos de búsqueda, pero tras completar sus valores
y pulsar en un botón me indica que el valor de la entidad es null.

Esta es la entidad:

// Datos necesarios para seleccionar los expedientes a incluir en el
fichero de petición.
DataEntity GenerarFichPeticionCesion noPersist {
DataAttr String cesionTipo;
DataAttr String cesionSeleccionar;
DataAttr DateTime cesionFechaValidez;
}

Esta es la página:

Pagina GenerarFichPeticionCesionPage Titulo="Generar ficheros de
petición de cesiones" {
Grupo gfiltrarExpCesiones Titulo="Filtrar expedientes" {
Combo cesionTipo Titulo="Tipo de cesión" Requerido
Campo="GenerarFichPeticionCesion.cesionTipo" Lista=tiposcesiondatos;
Boton actualizarExpAutCesion
Titulo="Actualizar expedientes"; // Ancho=300;
}
}

y el error es el siguiente:

11-may-2011 9:48:30 com.sun.faces.lifecycle.ProcessValidationsPhase
execute
ADVERTENCIA: /pages/GenerarFichPeticionCesionPage.xhtml @61,273
value="#{generarFichPeticionCesionPageController.generarFichPeticionCesion.cesionTipo}":
Target Unreachable, 'generarFichPeticionCesion' returned null
javax.el.PropertyNotFoundException: /pages/
GenerarFichPeticionCesionPage.xhtml @61,273
value="#{generarFichPeticionCesionPageController.generarFichPeticionCesion.cesionTipo}":
Target Unreachable, 'generarFichPeticionCesion' returned null
at
com.sun.facelets.el.TagValueExpression.getType(TagValueExpression.java:
62)
...

¿Dónde puedo almacenar los campos que debe completar el usuario y que
son necesarios para realizar un filtrado de expedientes?

Gracias.
Saludos.
Message has been deleted

Axel Hernández Ferrera

unread,
May 12, 2011, 6:39:42 AM5/12/11
to fap-s...@googlegroups.com, patry...@gmail.com
Hola

Puedes probar a inicializar la entidad al inicio de cada petición con algo así

@URLAction
public void init(){
    generarFichPeticionCesion = EntidadesObjectFactory.newGenerarFichPeticionCesion();
}


La anotación indica que es código que se ejecuta al inicio de cada petición.


--
Has recibido este mensaje porque estás suscrito al grupo "fap-support" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a fap-s...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a fap-support...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/fap-support?hl=es.


patryalcala

unread,
May 12, 2011, 3:38:40 PM5/12/11
to fap-support
Muchas gracias, con eso me ha funcionado.

Una vez que consigo seleccionar los distintos campos y actualizo el
listado de expedientes en el método del controlador, la tabla no se
actualiza en pantalla. ¿Hay que hacer algo para que las filas de la
tabla se refresquen?

DataEntity GenerarFichPeticionCesion noPersist {
DataAttr String cesionTipo;
DataAttr String cesionSeleccionar;
DataAttr DateTime cesionFechaValidez;
DataRef List ExpedienteAutCesion OneToMany expedientesAut;
}

DataEntity ExpedienteAutCesion strongEntity {
DataAttr String expedienteAutNum;
DataAttr String expedienteAutNIPCIF;
DataAttr String expedienteAutSolicitante;
DataAttr DateTime expedienteAutFechaConsulta;
DataAttr DateTime expedienteAutFechaValidez;
}

Al salir del método del controlador el valor de la lista es:

expedientesAutCesion =
[com.faparte.solicitudes.tecnologos.entidades.domain.ExpedienteAutCesion@1960baf[
expedienteAutNum=3
expedienteAutNIPCIF=45729784B
expedienteAutSolicitante=Patricia González Hernández
expedienteAutFechaConsulta=<null>
expedienteAutFechaValidez=<null>
]]

y la definición de la tabla es la siguiente:

Tabla expedienteAutCesion
CampoLista="GenerarFichPeticionCesion.expedientesAut" Filtrable
Seleccion Ordenable {
Columna expAutNum Cabecera="N. expediente" Ancho="20%"
Campo="expedienteAutNum";
Columna expAutNIPCIF Cabecera="NIP/CIF" Ancho="20%"
Campo="expedienteAutNIPCIF";
Columna expAutSolicitante Cabecera="Solicitante" Ancho="20%"
Campo="expedienteAutSolicitante";
Columna expAutFechaConsulta Cabecera="Fecha de consulta"
Ancho="20%" Campo="expedienteAutFechaConsulta";
Columna expAutFechaValidez Cabecera="Fecha de validez" Ancho="20%"
Campo="expedienteAutFechaValidez";
}

Gracias.
Saludos.

On 12 mayo, 11:39, Axel Hernández Ferrera <axel...@gmail.com> wrote:
> Hola
>
> Puedes probar a inicializar la entidad al inicio de cada petición con algo
> así
>
> @URLAction
> public void init(){
>     generarFichPeticionCesion =
> EntidadesObjectFactory.newGenerarFichPeticionCesion();
>
> }
>
> La anotación indica que es código que se ejecuta al inicio de cada petición.
>

Axel Hernández Ferrera

unread,
May 13, 2011, 3:22:42 PM5/13/11
to patry...@gmail.com, fap-support
Hola

Tienes que usar el parametro reRender del boton y decirle el
identificador de la tabla para que la actualice.

Saludos

patryalcala

unread,
May 14, 2011, 7:13:05 AM5/14/11
to fap-support
Hola,

¿No existe manera de indicar desde el DSL en algún atributo la
propiedad reRender para el componente jsf a4j:commandButton?.
Ahora mismo sólo se me ocurre ponerlo directamente en el
fichero .xhtml con el inconveniente de que se borraría al volver a
ejecutar tecnologosGen.mwe2.

Saludos.

On 13 mayo, 20:22, Axel Hernández Ferrera <axel...@gmail.com> wrote:
> Hola
>
> Tienes que usar el parametro reRender del boton y decirle el
> identificador de la tabla para que la actualice.
>
> Saludos
>

Axel Hernández Ferrera

unread,
May 16, 2011, 2:44:49 AM5/16/11
to fap-s...@googlegroups.com
Hola

Pues es verdad, no tenemos parámetro reRender. Pero si tenemos un actualizarForm, que hace un reRender del formulario entero.
Creo que eso te podría servir

Saludos
Reply all
Reply to author
Forward
0 new messages