My application receives a directory in the first field of the form. Through this directory I will list the files in it. I have a method that will list the files according to the directory received by parameter. After the user informs the directory how do I ajax
tell my method which list files which directory is?
My method that lists the directories:
public Collection<String> listarItensDiretorioOrigem(String query, String diretorio) {
File diretorioOrigem = new File(diretorio);
File[] arquivos = diretorioOrigem.listFiles();
Collection<String> nomes = new ArrayList<String>();
String nome;
for (File arquivo : arquivos) {
nome = arquivo.getName();
if (nome.toLowerCase().contains(query.toLowerCase())){
nomes.add(nome);
}
}
return nomes;
}
My page:
<h:form>
<p:panel header="Informações dos Itens">
<h:panelGrid columns="2">
<p:outputLabel value="Diretório Raiz Origem: " for="diretorioRaizOrigem" />
<p:inputText id="diretorioRaizOrigem" value="#{questItemController.questItem.diretorioRaizOrigem}">
<p:ajax event="change" />
</p:inputText>
<p:outputLabel for="itemOrigem" value="Item Origem"/>
<p:autoComplete id="itemOrigem" value="#{questItemController.questItem.nomeItemOrigem}"
completeMethod="#{questItemController.listarItensDiretorioOrigem}" dropdown="true" var="bean" itemLabel="#{bean}"
itemValue="#{bean}" effect="bounce" forceSelection="true" />
</h:panelGrid>
</p:panel>
</h:form>