Ola a todos minha duvida é a seguinte tenho os seguintes métodos na DAO.
public ArrayList<Nome_Database> getNomeDB() throws SQLException, NamingException, ClassNotFoundException {
con = H2_Connection.getConexao();
ArrayList<Nome_Database> ndb = new ArrayList<>();
ResultSet rs;
try {
pstm = con.prepareStatement("SELECT TABLE_NAME FROM information_schema.tables WHERE table_schema = 'TABELAS_INFO'");
rs = pstm.executeQuery();
while (rs.next()) {
Nome_Database d_name = new Nome_Database();
d_name.setNomeDB(rs.getString("TABLE_NAME"));
ndb.add(d_name);
}
return ndb;
} catch (JdbcSQLException e) {
e.printStackTrace();
return null;
} catch (SQLException ex) {
ex.printStackTrace();
return null;
}
}
public ArrayList<Empresa> getCaminhoBanco(Nome_Database nomedb) throws SQLException, NamingException, ClassNotFoundException {
con = H2_Connection.getConexao();
ArrayList<Empresa> script = new ArrayList<>();
ResultSet rs;
try {
pstm = con.prepareStatement("SELECT COLUMN_NAME FROM information_schema.columns WHERE table_name = '"+nomedb.getNomeDB()+"'");
rs = pstm.executeQuery();
while (rs.next()) {
Empresa caminho = new Empresa();
caminho.setEmpresa(rs.getString("COLUMN_NAME"));
script.add(caminho);
}
return script;
} catch (JdbcSQLException e) {
e.printStackTrace();
return null;
} catch (SQLException ex) {
ex.printStackTrace();
return null;
}
}
o meu bean
public ArrayList<Nome_Database> selectedNomeDB_CB() throws SQLException, NamingException, ClassNotFoundException {
return dao.getNomeDB();
}
public ArrayList<DataBase> selectedCaminhoDB_CB() throws SQLException, NamingException, ClassNotFoundException {
return dao.getCaminhoDB();
}
e na minha tela jsf:
<h:selectOneMenu id="base" value="#{nome_Database.nomeDB}" valueChangeListener="#{scriptControle.selectedCaminhoBanco_CB()}">
<f:selectItem itemLabel="selecione" itemValue=""/>
<f:selectItems value="#{scriptControle.selectedNomeDB_CB()}" />
<f:ajax render="empresa" event="change" />
</h:selectOneMenu>
Selecione a Empresa:
<h:selectOneMenu id="empresa" value="#{scriptExec.selectedEmpresa}" valueChangeListener="#{scriptControle.selectedCaminhoDB_CB()}" >
<f:selectItem itemLabel="selecione" itemValue=""/>
<f:selectItems value="#{scriptControle.selectedCaminhoBanco_CB()}" />
<f:ajax render="database" event="change"/>
</h:selectOneMenu>
no meu primeiro selectOneMenu aparece os nomes das bases da DAO getNomeDB() , meu problema é quero que quando eu selecionar um valor no primeiro box ele passe o valor para o parâmetro da minha DAO getCaminhoBanco() e depois atualize o segundo selectOneMenu, se alguem puder me ajudar fico grato ja tentei buscar em vários tópicos mas nao encontrei nada nesse caminho que estou