Visualización condicional de componentes JSF

En primer lugar, soy nuevo en Java EE, provengo de un sólido fondo de desarrollo ASP .NET. He pasado por la red, y podría extrañar esto, pero parece que no hay tutoriales sencillos y directos sobre cómo podría conectar la clase de bean de respaldo a los componentes de JSF.

Un buen ejemplo es el siguiente, actualmente estoy intentando crear una página JSF donde haya un conjunto de enlaces como barra de menús y un conjunto de formularios. Lo que planeo hacer es, al hacer clic en un enlace, se presentará un formulario en particular.

En ASP.NET, pude recuperar fácilmente el elemento y luego configurar el atributo para que se pueda visualizar. Me pregunto si hay una manera fácil (diablos, incluso de cualquier forma) de hacer esto en JSF.

Los formularios ya están en la página, es solo cuestión de establecer el atributo “render” en verdadero cuando hago clic en un enlace en particular.

Sí, usa el atributo rendered .

  

Por lo general, lo vincula al modelo en lugar de dejar que la modelo agarre el componente y lo manipule.

P.ej

        

Tenga en cuenta la importancia de los operadores EL basados ​​en palabras clave como gt , ge , le y lt lugar de > , >= , <= y < ya que los paréntesis angulares < y > son caracteres reservados en XML. Vea también este Q & A relacionado: Error al analizar XHTML: El contenido de los elementos debe consistir en datos de caracteres bien formados o marcado .

En cuanto a su caso de uso específico, supongamos que el enlace está pasando un parámetro como el siguiente:

 link 

A continuación, puede mostrar el formulario de la siguiente manera:

  

(el #{param} es un objeto EL implícito que hace referencia a un Map representa los parámetros de solicitud)

Ver también:

  • Tutorial de Java EE 6 - Lenguaje de Expresión
  • Cómo mostrar los componentes JSF si la lista no es nula y tiene el tamaño ()> 0
  • ¿Por qué necesito anidar un componente con rendered = "# {some}" en otro componente cuando quiero ajax-update?

Además de la publicación anterior, puedes tener

   

Jsf 2.0