Problema com jsf, RichFaces, popup e upload

Java

11/07/2012

Seguinte: estou fazendo uma página em JSF 2.0 basicamente assim: após uma seleção em um combo no topo da página, abrem-se três pares de RadioButton, cada par dando opção de edição de um campo diferente, via texto (rich:editor , do RichFaces 4) ou via upload de arquivo (descendente de javax.faces.component.html.HtmlInputText , HtmlInputFile , implementado aqui). A opção clicada abre um popup (rich:popupPanel). O detalhe é que o popup de upload, além de simplesmente não efetuar o upload (ele o faz em outras páginas do sistema), faz um reload de toda a página após o clic em upload (esse efeito é presente em todas as outras páginas antes implementadas), e esse reload faz todo o conteúdo da página se perder, inclusive a seleção do combo inicial - o que não é desejado, a página deveria permanecer como está, apenas com o acréscimo do arquivo (ou texto) inserido. Ah, e o texto novo q digito nesses editores simplesmente não é salvo - após o comando salvar os textos permanecem os carregados na seleção do combo.

Abaixo, o código em questão:

		<rich:popupPanel modal=true id=unidadeArquivoMP autosized=true
				rendered=#{menuMB.perfilEdicao}>
			<f:facet name=header>
				<h:outputText value=#{bundle.uploadUnidade} />
			</f:facet>
			<f:facet name=controls>
				<h:graphicImage value=/resources/images/close.jpg
					onclick=#{rich:component(unidadeArquivoMP)}.hide();
					styleClass=iconePainel />
			</f:facet>

			<h:form enctype=multipart/form-data acceptcharset=UTF-8>
				<h:panelGroup id=arquivoPG>
					<tcesc:inputFile id=arquivo
						value=#{restricaoMB.arquivoUnidade} required=true />
					<div align=right>
						<h:panelGrid columns=2>
							<h:commandButton value=#{bundle.upload} styleClass=botaoAcao
								action=#{restricaoMB.uploadUnidade} />
							<a4j:commandButton value=#{bundle.cancelar}
								styleClass=botaoAcao render=@none execute=@none
								immediate=true
								oncomplete=#{rich:component(unidadeArquivoMP)}.hide(); />
						</h:panelGrid>
					</div>
				</h:panelGroup>
			</h:form>
		</rich:popupPanel>
Fabio Zimmermann

Fabio Zimmermann

Curtidas 0
POSTAR