Galera,
estou com um problema em que não consigo ver o que esta errado.
Possuo uma pagina web que fara a criação de um diretório e um arquivo txt para mim. Tanto a criação do diretorio quanto do arquivo estão OK, porém não consigo pegar o valor das string adicionadas no site e passar como parâmetro no Bean, segue o código:
[code]public class SaveOpenBean {
// Bean com a função de testar, criar e abrir projetos salvos.
// Inicialmente deve-se criar um novo arquivo
boolean teste1, teste2;
private String arquivostring;// = "config.opl";
private String diretoriostring;// = "C:\\Pasta1\\";
File arquivo;
File diretorio;
boolean bool1, bool2 = false;
public String getArquivostring() {
return arquivostring;
}
public void setArquivostring(String arquivostring) {
this.arquivostring = arquivostring;
}
public String getDiretoriostring() {
return diretoriostring;
}
public void setDiretoriostring(String diretoriostring) {
this.diretoriostring = diretoriostring;
}
public void save(AjaxBehaviorEvent event) throws IOException {
System.out.println("Estou aqui!!!");
System.out.println(diretoriostring+arquivostring);
diretorio = new File(diretoriostring);
diretorio.mkdir();
arquivo = new File(diretorio, arquivostring + ".txt"); // esta variavel tem que ser global mas o tratamento de erro parece não ser legal aqui -- Olhar!
try {
if (arquivo.createNewFile()) {
System.out.println("Arquivo Criado com Sucesso");
}
}catch(IOException ex) {
ex.printStackTrace();
}
System.out.println(diretoriostring + arquivostring);
String variaveis[] = {"primeira", "segunda", "terceira", "quarta"};
gravaArray(variaveis, arquivo);
}
public boolean gravaArray(String[] values, File file) {
try {
BufferedWriter bf = new BufferedWriter(new FileWriter(arquivo));
for (int i = 0; i < values.length; i++) {
bf.write(values[i] + "/n");
System.out.println(values[i]);
}
bf.close();
return true;
} catch (IOException e) {
return false;
}
}
}
[/code]
Pagina Web
[code]</p:tab>
<p:tab title=“Localização”>
<h:outputText value=“Nome e local” />
<p:separator id=“separator3”/>
<h:panelGrid columns=“2” cellpadding=“10”>
<h:outputText value=“Nome do projeto: " />
<p:inputText id=“arquivo” styleClass=“caixa” style=“position: relative; left: 20%;” value=”#{saveOpenBean.arquivostring}" />
</h:panelGrid>
<h:panelGrid columns =“3” cellpadding =“10”>
<h:outputText value=“Localização do projeto: " />
<p:inputText id=“diretorio” styleClass=“caixa” value=”#{saveOpenBean.diretoriostring}" />
<h:commandButton value=“Procurar” style=“font-family: Cambria, Georgia, serif; position: relative; float: right; bottom: 100%; margin: 3px 3px 3px 3px; width: 100px; height: 30px;” action="#"/>
</h:panelGrid>
<p:separator id=“separator4”/>
<h:commandButton value=“Salvar” style=“font-family: Cambria, Georgia, serif; position: relative; float: right; margin: 3px 3px 3px 3px; width: 100px; height: 30px;” onclick=“dlg1.hide();”>
<f:ajax event=“click” listener="#{saveOpenBean.save}"/>
</h:commandButton>
</p:tab> [/code]
Notar que quando eu uso valores diretos no bean ( os que deixei comentados ) ele funciona ok, mas quando tento usar os valores passados pela pagina Web, diz que estou recebendo null null.
Agradeço a ajuda.