gpt4 book ai didi

jsf - 如何在更改第一个 selectOneMenu 时加载第二个 selectOneMenu?

转载 作者:行者123 更新时间:2023-12-01 15:16:49 27 4
gpt4 key购买 nike

<分区>

我有 2 <h:selectOneMenu>组件和其中一个取决于另一个的选择。当您选择第一个菜单组件的一个值时,第二个将随着 onchange="submit()" 的事件发生变化。和 valueChangeListener="#{Usuario.cmbDatos_action}"第一个菜单:

<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>

它就像所选国家的国家和城市。第一个菜单加载如下:

@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;
}
}

但是当我选择第一个菜单的一个值时,我不知道如何加载下一个菜单。我试过如下:

public String cmbDatos_action() {
try {
int intValor = Integer.parseInt(cmbDatos.getValue().toString());
} catch(Exception ex) {

}

return null;
}

在方法的哪一部分cmbDatos_action()我可以把代码加载到第二个菜单吗?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com