¿Cómo cargar el segundo selectOneMenu al cambiar el primer selectOneMenu? [duplicar
Esta pregunta ya tiene una respuesta aquí:
Cómo cargar y mostrar h dependiente: seleccione OneMenu al cambiar una h: seleccione OneMenu 1 respuestaTengo 2<h:selectOneMenu>
componentes y uno de ellos depende de la selección del otro. Cuando selecciona un valor del primer componente del menú, el segundo cambia con el evento deonchange="submit()"
yvalueChangeListener="#{Usuario.cmbDatos_action}"
del primer menú:
<h:selectOneMenu id="cmbCombo" binding="#{Usuario.cmbDatos}" value="#{Usuario.id}"
onchange="submit()" valueChangeListener="#{Usuario.cmbDatos_action}">
<f:selectItems value="#{beanCombos.datos}"></f:selectItems>
</h:selectOneMenu>
Es como los países y ciudades del país seleccionado. El primer menú se carga de la siguiente manera:
@ManagedBean
@RequestScoped
public class BeanCombos {
private List<SelectItem> Datos;
public BeanCombos() {
try {
clsConexion objConexion = new clsConexion();
String strSQL = "SELECT * FROM Usuarios";
objConexion.ResultSetSQL = objConexion.EjecutarConsulta(strSQL);
Datos = new ArrayList<SelectItem>();
while (objConexion.ResultSetSQL.next()) {
Usuario objUsuario = new Usuario();
objUsuario.setId(String.valueOf(objConexion.ResultSetSQL.getInt("Codigo")));
objUsuario.setNombre(objConexion.ResultSetSQL.getString("Nombres").toUpperCase());
Datos.add(new SelectItem(objUsuario.getId(), objUsuario.getNombre()));
}
} catch(Exception ex) {
String strError = ex.getMessage().toString();
}
}
public List<SelectItem> getDatos() {
return Datos;
}
}
Pero cuando selecciono un valor del primer menú, no sé cómo cargar el siguiente menú. Lo he intentado de la siguiente manera:
public String cmbDatos_action() {
try {
int intValor = Integer.parseInt(cmbDatos.getValue().toString());
} catch(Exception ex) {
}
return null;
}
En qué parte del métodocmbDatos_action()
¿Puedo poner el código para cargar el segundo menú?