Ola a todos estou com o seguinte problema tenho o seguinde selectOnMenu abaixo:
<h:selectOneMenu id=“para” value="#{scripts.pasta}" >
<f:selectItem itemLabel="selecione" itemValue=""/>
<f:selectItems value="#{dir_controle.selectedDs()}" />
<p:ajax listener="#{scripts.listener}" update="arquivo2" />
</h:selectOneMenu>
<label class="title4">Banco:</label>
<h:selectOneMenu id="arquivo2" value="#{scripts.arquivo}" style="width: 200px">
<f:selectItem itemLabel="Selecione"/>
<f:selectItems value="#{dir_controle.selectedFile(scripts.pasta)}" />
</h:selectOneMenu>
que de acordo com o valor do primeiro exibe uma lista especifica no segundo, o problema é que o segundo sem selecionar nada aparece com a mesma lista do primeiro, o primeiro quando eu seleciono o valor o segundo exibe certo, outro problema que esta ocorrendo é que na mesma tela em outra div tenho o mesmo selectOneMenu só que o desta segunda div esta carregando somando os dados dele com o do outro selectedOneMenu acima, segue abaixo as classes que uso para popular eles
public ArrayList SearchDir() throws SQLException{
DirControle dc = new DirControle();
File file = new File(String.valueOf(dc.selectedDir_CB()).replace("[", "").replace("]", ""));
File afile[] = file.listFiles();
int i = 0;
for (int j = afile.length; i < j; i++) {
File arquivos = afile[i];
lista.add(arquivos.getName());
}
return lista;
}
public ArrayList<String> SearchFile (String p) throws SQLException{
DirControle dc = new DirControle();
File file = new File(String.valueOf(dc.selectedDir_CB()).replace("[", "").replace("]","")+"\\"+p);
File afile[] = file.listFiles();
int i = 0;
for (int j = afile.length; i< j; i++){
File arq = afile[i];
listaFiles.add(arq.getName().replace("datasulCargaBancos.bat","").replace(" ",""));
}
return listaFiles;
}
meu Bean
public ArrayList selectedDs() throws SQLException{return sdir.SearchDir();}
public ArrayList<String> selectedFile(String arq) throws SQLException{return sdir.SearchFile(arq);}
se alguém puder ajudar fico grato.