DataTable com inputFileUpload

0 respostas
gascf

Galera, eu tenho uma tabela de documentos a serem anexados, para cada linha eu tenho que preencher um titulo e informar um arquivo.

Eu estou usando dataTable e um map para os titulos ( Map codigoDoDocumento e Titulo) e outro map para o Arquivo
( Map codigoDoDocumento e Arquivo) quando executo a ação do meu h:commandButton a página é renderizada novamente mas não entra no método e quando eu tiro o inputFileUpload ele entra no método. o inputFileUpload não suporta a utilização de um Map para guardar várias dinâmicas vindas de uma tabela?

<h:dataTable id="table_docs_anexados" var="documento" 
				styleClass="dataTableInteressados" rowClasses="dataTableLinhaImpar,dataTableLinhaPar"
				columnClasses="dtColuna200c,dtColuna120c,dtColuna30c"
				headerClass="dataTableTitulo"
				value="#{documentosACertificarMBean.documentosCertificados}">
				
				<h:column id="column_tipo">
					<f:facet name="header">
						<h:outputText id="out_doc_header_tipo" value="Tipo Documento"/>
					</f:facet>
					<h:outputText id="out_doc_tipo" value="#{documento.documentoAnexo.tipoDocumento.descricao}"/>										
				</h:column>
				<h:column id="column_titulo">
					<f:facet name="header">
						<h:outputText id="out_doc_header_titulo" value="Título"/>
					</f:facet>
					<h:outputText id="out_doc_titulo" value="#{documento.documentoAnexo.tituloDocumento}"/>										
				</h:column>
				<h:column id="column_certificar">
					<f:facet name="header">
						<h:outputText id="out_doc_header_certificar" value="Certificar"/>
					</f:facet>
					<h:selectBooleanCheckbox id="check_doc_certificar" 
						value="#{documentosACertificarMBean.mapDocumentosCertificados[documento.codigo]}"
						rendered="#{not documento.certificado}">
					</h:selectBooleanCheckbox>				
					<h:graphicImage id="image_doc_certificar" rendered="#{documento.certificado}"
						value="#{configuracaoBean.caminhoImagens}/form_preenchido.gif">
					</h:graphicImage>					
				</h:column>
				
			</h:dataTable>
			
			<a4j:commandButton id="button_certificar_docs" value="Certificar"
				actionListener="#{documentosACertificarMBean.exibirAutenticacaoAnexados}"
				ignoreDupResponses="true" requestDelay="100" styleClass="botao"
				reRender="panel_docs_anexados">
			</a4j:commandButton>
			
			<a4j:outputPanel id="outputPanel_autenticar_anexados" 
				layout="block" rendered="#{documentosACertificarMBean.exibirAutenticarAnexados}">
				
				<a4j:include viewId="/jsp/sigaProcesso/util/AutenticarUsuarioINC.jsp" />
				
				<h:panelGrid id="panel_botoes_anexados" columns="2">
					<a4j:commandButton id="button_confirmar_certificar" value="Confirmar"
						styleClass="botao" action="#{documentosACertificarMBean.confirmarAnexados}"
						ignoreDupResponses="true" requestDelay="100"
						reRender="panel_docs_anexados">
					</a4j:commandButton>								
					<a4j:commandButton id="button_cancelar_certificar" value="Cancelar"
						styleClass="botao" actionListener="#{documentosACertificarMBean.cancelarAnexados}"
						ignoreDupResponses="true" requestDelay="100"
						reRender="panel_docs_anexados">
					</a4j:commandButton>		
				</h:panelGrid>
								
			</a4j:outputPanel>
Bean
private Map<Integer, UploadedFile> mapUploadDocumentosAnexar;
// Gets e Sets
public void confirmarAnexar(ActionEvent event) {
		this.limparMensagens();
		Collection<DocumentoRequeridoSolicitado> 
			docs = new ArrayList<DocumentoRequeridoSolicitado>();
		
		for(DocumentoRequeridoSolicitado doc : this.documentosAnexar) {
			if(verificarArquivoDocumentoAnexar(doc) && verificarTituloDocumentoAnexar(doc)) {
				docs.add(doc);
			}
		}
		
		try {
			this.sistema.getAnexo().confirmarRecebimentoDocumentoSolicitado(
					docs, processo, pessoaLogada, orgao, this.mapUploadDocumentosAnexar);
			this.mensagemSucessoAnexar = "Documento(s) anexado(s) e certificado(s) com sucesso";
		} catch (SistemaException e) {
			this.mensagemErroAnexar = e.getMessage();
		}
		
	}
Criado 6 de outubro de 2009
Respostas 0
Participantes 1