Bean não recebe variaveis da Pagina

0 respostas
Say

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:

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;
        }
    }
}

Pagina Web

</p:tab>  
                <p:tab title="Localização"> 
                    <div id ="caixaestilo">   <h:outputText value="Nome e local" /> </div>
                    <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>

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.

Criado 12 de junho de 2013
Respostas 0
Participantes 1