Dificuldades ao "ativar" o componente "fileUpload" do primefaces 3 a partir de um commandButton

1 resposta
joniel_fernandes

Pessoal, estou utilizando primefaces 3 e JSF 2.0. Tenho uma tela onde realizo o upload de uma imagem para exibição posterior. Esta imagem é informada em um campo no preenchimento de outros campos de um cadastro para ser upada somente quando o usuário clicar em salvar.
Com este objetivo quero colocar no lugar do componente fileUpload em si um commandLink ou um commandButton que chamaria o componente fileUpload ao ser clicado. Estou tentando fazer da forma abaixo, porém não está funcionando.

<h:outputText value="Foto:"/>
                 <h:commandButton type="button" value="Alterar foto" style="font-size: 10px;" rendered="#{!empty usuarioBean.foto}">
    	         <a4j:ajax event="click" execute="fileUpload" />
    	  </h:commandButton>

Se não errei na minha interpretação de inglês o execute do ajax neste caso aceitaria o id de um componente a ser executado. Então coloquei um pouco acima no formulário tenho o componente uploadFile que estou escondendo via CSS.

<p:fileUpload id="fileUpload" value="#{usuarioManager.uploadedFile}" widgetVar="uploader" mode="simple" />

Imaginei que isto bastaria para o que eu queria, porém não funciona. Alguém teria alguma idéia o que estou fazendo de errado e como faço para que funcione?

Agradeço desde já a atenção e como este é meu primeiro post no fórum, perdoem-me e me corrijam caso ele não esteja no local correto. Já verifiquei neste fórum e em outros, porém não encontrei nada que me ajudasse por isso estou postando.

1 Resposta

joniel_fernandes

Passando para dizer que resolvi o pequeno problema. No final das contas era bem fácil. Apenas chamei o componente no próprio commandButton ao invés de ajax. Abaixo o código alterado que funcionou para mim.

Agradeço e até a próxima.

Criado 3 de janeiro de 2013
Ultima resposta 3 de jan. de 2013
Respostas 1
Participantes 1