Victoria, parte de nuestro staff, nos ha hecho el favor de redactar esta crónica ya que domina perfectamente este tema.
Solución:
En realidad puedes lograr esto sin JavaScript, usando solo JSF rendered
attribute, encerrando los elementos que se mostrarán/ocultarán en un componente que se pueda volver a representar, como un panelGroup, al menos en JSF2. Por ejemplo, el siguiente código JSF muestra u oculta una o ambas listas desplegables según el valor de una tercera. Se utiliza un evento AJAX para actualizar la pantalla:
Por lo general, debe manejar el control a través de su ID de cliente. Este ejemplo utiliza una vista JSF2 Facelets con un enlace de alcance de solicitud para obtener un identificador para el otro control:
Show/Hide
Exactamente cómo lo haga dependerá de la versión de JSF en la que esté trabajando. Consulte esta publicación de blog para versiones anteriores de JSF: JSF: trabajo con identificadores de componentes.
Deberías usar
etiqueta con attribute rendered
. si configuras true
prestado, el contenido de
no se mostrará. Su archivo XHTML debería tener algo como esto:
UserBean.java:
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
public class UserBean implements Serializable
private boolean showPassword = false;
private String password = "";
public boolean isShowPassword()
return showPassword;
public void setPassword(password)
this.password = password;
public String getPassword()
return this.password;
Eres capaz de añadir valor a nuestro contenido informacional colaborando tu experiencia en los informes.