Saltar al contenido

¿Cómo puedo mostrar/ocultar componentes con JSF?

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.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4.5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *