Jsf + richfaces + upload de videos

8 respostas
comedor_de_folhas

pessoal!

tenho uma tela para se fazer upload de videos com <rich:fileUpload>:

essa tela contem 2 <rich:panel> ,um deles com essa parte do upload e outro <rich:panel> com um formulario para se preencher dados sobre esse video:

o <rich:panel> de baixo…começa invisivel:

<rich:panel id="id_panelInfo" rendered="#{#videoUploadBean.painelVisivel}">

painelVisivel é um boolean que começa como false.

Apos eu fazer um upload de um video, o metodo da classe é executado, e no fim desse metodo eu torno meu boolean true:

//setPainelVisivel(true);
		painelVisivel = true;
		System.out.println("var 'painelVisivel = "+isPainelVisivel());

no console eu vejo que a varial esta como true, mas o 2º panel nao aparece na tela

eu quero que o 2º painel apareça depois que o video estiver upado…

alguem sabe pq na da certo?

8 Respostas

andresmafra

comedor_de_folhas:
pessoal!

o <rich:panel> de baixo…começa invisivel:

<rich:panel id="id_panelInfo" rendered="#{#videoUploadBean.painelVisivel}">


opa, entao

primeiro que isto ai em cima
é

<rich:panel id="id_panelInfo" rendered="#{videoUploadBean.painelVisivel}">

Segundo, vc esta dando o Rerender no painel 2?

comedor_de_folhas

andresmafra:
comedor_de_folhas:
pessoal!

o <rich:panel> de baixo…começa invisivel:

<rich:panel id="id_panelInfo" rendered="#{#videoUploadBean.painelVisivel}">


opa, entao

primeiro que isto ai em cima
é

<rich:panel id="id_panelInfo" rendered="#{videoUploadBean.painelVisivel}">

Segundo, vc esta dando o Rerender no painel 2?

é isso…
o 1º panel é só a parte de cima (a 1º imagem) , quando eu entro nessa pagina o 2º painel esta invisivel (o 2º painel é o questionario) …que começa como false … ai depois de executar o metodo do upload, a var é setada para true assim eu esperava que o painel aparecesse natela manja…!

andresmafra

ok, use o oncomplete do uploadPanel e de um reRender no id do segundo painel

comedor_de_folhas

andresmafra:
ok, use o oncomplete do uploadPanel e de um reRender no id do segundo painel

no caso do rich:fileUpload acho que seria entao um onadd="" quando um video for adicionado vai 'acontecer alguma coisa, mas nao sei como usalo…

está assim:

<rich:fileUpload id="id_arquivo" maxFilesQuantity="1"
					acceptedTypes="avi, mp4, flv, mpg, mpeg, mov"
					fileUploadListener="#{videoUploadBean.videoUploadTratamentoSemTemp}"
					onadd=""
					>

				</rich:fileUpload>

o que eu ponho dentro do onadd?? e como se usa um reRender ?? (essa opção nao aparece no 'auto complete do panel…)

andresmafra

comedor_de_folhas:
andresmafra:
ok, use o oncomplete do uploadPanel e de um reRender no id do segundo painel

no caso do rich:fileUpload acho que seria entao um onadd="" quando um video for adicionado vai 'acontecer alguma coisa, mas nao sei como usalo…

está assim:

<rich:fileUpload id="id_arquivo" maxFilesQuantity="1"
					acceptedTypes="avi, mp4, flv, mpg, mpeg, mov"
					fileUploadListener="#{videoUploadBean.videoUploadTratamentoSemTemp}"
					onadd=""
					>

				</rich:fileUpload>

o que eu ponho dentro do onadd?? e como se usa um reRender ?? (essa opção nao aparece no 'auto complete do panel…)

dentro das tags do file upload use

<a4j:support event="onuploadcomplete" reRender="id_panelInfo"/>
comedor_de_folhas

Tentei fazer assim mas ainda nao deu certo:

<rich:fileUpload id="id_arquivo" maxFilesQuantity="1"
					acceptedTypes="avi, mp4, flv, mpg, mpeg, mov"
					fileUploadListener="#{videoUploadBean.videoUploadTratamentoSemTemp}" >
					
 					<a4j:support event="onadd" reRender="id_panelInfo" />
 					
				</rich:fileUpload>
<rich:panel id="id_panelInfo"  rendered="#{videoUploadBean.painelVisivel}">
andresmafra

[quote=comedor_de_folhas]Tentei fazer assim mas ainda nao deu certo:

<rich:fileUpload id="id_arquivo" maxFilesQuantity="1"
					acceptedTypes="avi, mp4, flv, mpg, mpeg, mov"
					fileUploadListener="#{videoUploadBean.videoUploadTratamentoSemTemp}" >
					
 					<a4j:support event="onadd" reRender="id_panelInfo" />
 					
				</rich:fileUpload>
<rich:panel id="id_panelInfo"  rendered="#{videoUploadBean.painelVisivel}">

no support faz o meu, e insira seu rich panel dentro disto

<a4j:outputPanel ajaxRendered="true">
...
</a4j:outputPanel>
comedor_de_folhas

acabou dando certo colocando os itens dentro de um richpanel:
......

<h:panelGrid columns="2" columnClasses="top,top">

				<rich:fileUpload id="upload"
					fileUploadListener="#{videoBean.acaoUpdate}"
					maxFilesQuantity="1"  
					immediateUpload="true"
					allowFlash="false" 
					listHeight="70" 
					acceptedTypes="avi,mp4,flv,wmv,mkv">
					
					<a4j:support event="onuploadcomplete" 
						reRender="id_p00"/>
				</rich:fileUpload>


			<rich:panel id="id_p00">

				<h:outputText id="id_t08" value="nenhum video foi upado"
					rendered="#{!videoBean.medidor}" />
				<br />

				<h:outputText id="id_t06" value="Insira detalhes do video"
					rendered="#{videoBean.medidor}" />

				<br />

				<h:inputText id="id_titulo" value="#{videoBean.titulo}"
					rendered="#{videoBean.medidor}">
					<h:outputText value="Título" />
				</h:inputText>

				<br />

				<h:inputText id="id_assunto" value=""
					rendered="#{videoBean.medidor}">
					<h:outputText value="Assunto" />
				</h:inputText>

				<br />

				<h:inputText id="id_resumo" 
					value="" 
					rendered="#{videoBean.medidor}">
					<h:outputText value="Resumo" />
				</h:inputText>
				<br />

				<h:inputText id="id_categoria" value=""
					rendered="#{videoBean.medidor}">
					<h:outputText value="Categoria" />
				</h:inputText>
				<br />

				<h:inputText id="id_criador" value=""
					rendered="#{videoBean.medidor}">
					<h:outputText value="Criador" />
				</h:inputText>
				<br />

				<h:inputText id="id_publicador" value=""
					rendered="#{videoBean.medidor}">
					<h:outputText value="Publicador" />
				</h:inputText>
				<br />

				<h:inputText id="id_duracao" value=""
					rendered="#{videoBean.medidor}">
					<h:outputText value="Duração" />
				</h:inputText>
				<br />

				<h:outputText value="Data" />
				<rich:calendar id="id_data" value="" datePattern="dd/MM/yyyy"
					rendered="#{videoBean.medidor}">

				</rich:calendar>
				<br />

				<h:inputText id="id_fonte" value="" rendered="#{videoBean.medidor}">
					<h:outputText value="Fonte" />
				</h:inputText>
				<br />

				<h:inputText id="id_relacao" value=""
					rendered="#{videoBean.medidor}">
					<h:outputText value="Relação" />
				</h:inputText>
				<br />

				<h:inputText id="id_direitos" value=""
					rendered="#{videoBean.medidor}">
					<h:outputText value="Direitos" />
				</h:inputText>
				<br />

				<h:commandButton id="id_enviar" value="Enviar"
					rendered="#{videoBean.medidor}" />
				<br />

			</rich:panel>
		</h:panelGrid>
	</h:form>

agora gostaria de saber se tem como eu conseguir os dados de um video e atribuilos nas minha variaveis (tipo duração do video, dimençoes...) alguem ja fez algo assim??

vlws andresmafra

Criado 19 de junho de 2010
Ultima resposta 23 de jun. de 2010
Respostas 8
Participantes 2