Javafree
Página Inicial do Fórum > Java Avançado

selectOneMenu + jsf



Criar novo tópico   Responder tópico
  1. Comment Arrow

    Publicado em: 18/08/2016 10:53:02

    Ola a todos minha duvida é a seguinte tenho os seguintes métodos na DAO.

    public ArrayList getNomeDB() throws SQLException, NamingException, ClassNotFoundException {
    con = H2_Connection.getConexao();
    ArrayList 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 selectedNomeDB_CB() throws SQLException, NamingException, ClassNotFoundException {

    return dao.getNomeDB();
    }
    public ArrayList selectedCaminhoDB_CB() throws SQLException, NamingException, ClassNotFoundException {

    return dao.getCaminhoDB();
    }
    e na minha tela jsf:

    Selecione a base:
    <f:selectItem itemLabel="selecione" itemValue=""/>
    <f:selectItems value="#{scriptControle.selectedNomeDB_CB()}" />
    <f:ajax render="empresa" event="change" />


    </h:selectOneMenu>

    &nbsp;&nbsp;Selecione a Empresa:&nbsp;&nbsp;
    <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



  1. Relacionados