Cómo cargar y mostrar dependiente h: selectOneMenu on change of ah: selectOneMenu

Quiero crear el formulario de registro JSF que tiene un menú de selección con la lista de todos los países. Sé que esto es fácil de implementar con Java HashMap pero la parte difícil que no sé cómo implementar es ¿cómo inmediatamente después de que el usuario selecciona su país de la lista, el segundo menú de selección aparece con las ciudades de su país? ¿Hay algún ejemplo útil?

Los mejores deseos.

    Puedes usar para esto. Cuando se anida en un componente de entrada como , se invocará por defecto cuando se el valor de entrada. Puede especificar un método de listener que pueda rellenar previamente los datos para el siguiente componente en función del valor de entrada actual, y puede especificar el ID de cliente de ese siguiente componente en el render para mostrar los datos previamente rellenos.

              

    El bean debe estar en al menos el scope de la vista (no solicitar):

     @ManagedBean @ViewScoped public class Bean implements Serializable { private String country; // +getter+setter private String city; // +getter+setter private List countries; // +getter private List cities; // +getter @EJB private LocationService locationService; @PostConstruct public void init() { countries = locationService.getCountries(); } public void changeCountry() { cities = locationService.getCities(country); } // ... } 

    Por supuesto, también puede usar un Map lugar de un List . La clave del mapa se convierte en la etiqueta de la opción y el valor del mapa se convierte en el valor de la opción. Solo debe tener en cuenta que un HashMap es por naturaleza desordenado. Preferiría usar LinkedHashMap lugar para mostrar los elementos en el orden de inserción del Map .

    Ver también:

    • Nuestra página wiki selectOneMenu
    • ¿Cuándo usar valueChangeListener o f: ajax listener?