Java.lang.String cannot be cast to org.apache.myfaces.custom.fileupload.UploadedFile

2 respostas
I

Boa Tarde Pessoal!

Após algumas tentativas sem sucesso estou aqui pedindo novamente a ajuda de vocês.

Tenho uma dataTable que ao clicar no link vai para tela de edição. Ao tentar abrir a tela esta acontecendo o erro de conversão para um t:inputFileUpload

erro: java.lang.String cannot be cast to org.apache.myfaces.custom.fileupload.UploadedFile

Alguem pode me ajudar a fazer a conversão correta? Agradeço desde já!

Publicacao.java
private UploadedFile nmArquivo;
getter e setter
PublicacaoBean.java
public String publicacaoSelecionadaParaEdicao() throws SQLException, IOException{		
	
		this.tituloPagina = "Cadastro de Publicação - Alterar";	
		
		FacesContext context = FacesContext.getCurrentInstance(); 
		Map map = context.getExternalContext().getRequestParameterMap();	
				
		publicacao.setId(Long.valueOf((String) map.get("id")));
		publicacao.setNome((String) map.get("nome"));
		publicacao.setNumeroLista(Long.valueOf((String) map.get("numLista")));
		publicacao.setNomeLista((String) map.get("nomeLista"));	
		publicacao.setObjetivo((String) map.get("objetivo"));
		publicacao.setFrequencia((String) map.get("frequencia"));
		publicacao.setGestor((String) map.get("gestor"));	
		publicacao.setNmArquivo((UploadedFile) map.get("pathArq"));	>>>>>> aqui esta dando erro: java.lang.String cannot be cast to org.apache.myfaces.custom.fileupload.UploadedFile
	
		return "nav_cadastroPublicacao";	  
}
DataTable aonde tem o link, clica no link abre a página de edição.
<t:dataTable var="pub" value="#{publicacaoBean.listaPublicacao}" width="100%" align="center" styleClass="HtmlIntranetTable" >	
	<t:column width="200px">	
		<f:facet name="header">
			<brHtml:brOutputLabelTitle value="Nome" />
		</f:facet>				
		<h:commandLink id="editLink" action="#{publicacaoBean.publicacaoSelecionadaParaEdicao}">  
			<brHtml:brOutputText value="#{pub.nome}" />
			<f:param name="id" 			value="#{pub.id}"/> 
			<f:param name="nome" 		value="#{pub.nome}"/> 						
			<f:param name="numLista" 	value="#{pub.numeroLista}"/> 
			<f:param name="nomeLista" 	value="#{pub.nomeLista}"/> 
			<f:param name="pathArq" 	value="#{pub.pathArquivo}"/> 		
			<f:param name="objetivo" 	value="#{pub.objetivo}"/> 
			<f:param name="frequencia"	value="#{pub.frequencia}"/> 
			<f:param name="gestor" 		value="#{pub.gestor}"/>						
			<f:param name="pathPub" 	value="#{pub.pathPub}"/> 
			<f:param name="pathZip" 	value="#{pub.pathZip}"/> 	
			<f:param name="remetente" 	value="#{pub.nomeRemetente}"/> 				
		</h:commandLink>							
	</t:column>
	<t:column>
		<f:facet name="header">
			<brHtml:brOutputLabelTitle value="Lista Destinatários" />
		</f:facet>		           
		<brHtml:brOutputText value="#{pub.colunaListaDestinatario}" />
	</t:column>	
	<t:column>
		<f:facet name="header">
			<brHtml:brOutputLabelTitle value="Objetivo" />
		</f:facet>
		<brHtml:brOutputText value="#{pub.objetivo}" />
	</t:column>	
	<t:column>
		<f:facet name="header">
			<brHtml:brOutputLabelTitle value="Frequência" />
		</f:facet>
		<brHtml:brOutputText value="#{pub.frequencia}" />
	</t:column>	
	<t:column>
		<f:facet name="header">
			<brHtml:brOutputLabelTitle value="Gestor" />
		</f:facet>
		<brHtml:brOutputText value="#{pub.gestor}" />
	</t:column>	
	<t:column style="text-align:center;" >
		  <f:facet name="header">
			<brHtml:brOutputLabelTitle value="Excluir" />
		</f:facet> 
		   <h:selectBooleanCheckbox value="#{publicBean.checked[pub.id]}" />                                           
	</t:column>	    
											
</t:dataTable>
Pagina de edição:
<brHtml:brPanelGrid columns="3" cellspacing="5" border="0" columnClasses="colunm_center" styleClass="table" >
	<brHtml:brOutputLabel id="label_nome" for="nome" value="#{msgs.publicacao_nome}" />
	<brHtml:brInputText id="nome" size="70" maxlength="100"  value="#{publicacaoBean.publicacao.nome}"/>
	<brHtml:brMessageColor for="nome" />
				
	<brHtml:brOutputLabel id="label_destinatarios" for="destinatarios" value="#{msgs.publicacao_destinatarios}" />								
	<brHtml:brSelectOneMenu id="destinatarioSelected" value="#{publicacaoBean.nomeLista}" style="width: 370px">		
		<f:selectItem itemLabel="#{msgs.importar_arquivo}" itemValue="0"/>	
		<f:selectItems value="#{publicacaoBean.selecaoDestinatarios}" />							
	</brHtml:brSelectOneMenu>
	<brHtml:brMessageColor for="destinatarios" />				
	
	<brHtml:brOutputLabel id="label_upload" />
	<t:inputFileUpload id="upload" size="42" value="#{publicacaoBean.publicacao.nmArquivo}" /> 
	<brHtml:brOutputLabel />       	
			
	<brHtml:brOutputLabel id="label_objetivo" for="objetivo" value="#{msgs.publicacao_objetivo}" />
	<brHtml:brInputText id="objetivo" size="70" maxlength="100"  value="#{publicacaoBean.publicacao.objetivo}"/>
	<brHtml:brMessageColor for="objetivo" />
				
	<brHtml:brOutputLabel id="label_frequencia" for="frequencia" value="#{msgs.publicacao_frequencia}" />
	<brHtml:brInputText id="frequencia" size="70" maxlength="100" value="#{publicacaoBean.publicacao.frequencia}"/>
	<brHtml:brMessageColor for="frequencia" />
				
	<brHtml:brOutputLabel id="label_gestor" for="gestor" value="#{msgs.publicacao_gestor}" />
	<brHtml:brInputText id="gestor" size="70" maxlength="100" value="#{publicacaoBean.publicacao.gestor}"/>
	<brHtml:brMessageColor for="gestor" />
					
	<brHtml:brOutputLabel id="label_remetente" for="remetente" value="#{msgs.publicacao_remetente}" />			
	<brHtml:brSelectOneMenu id="remetenteSelected" value="#{publicacaoBean.idRemetente}" style="width: 370px">					
		<f:selectItem itemLabel="#{msgs.officers_lista}" itemValue="0"/>
		<f:selectItems value="#{publicacaoBean.selecaoRemetentes}" />
	</brHtml:brSelectOneMenu>
	<brHtml:brMessageColor for="remetente" />

</brHtml:brPanelGrid>

2 Respostas

Rodrigo_Sasaki

Você está fazendo cast para UploadedFile. Por que?

I

Olá Rodrigo!

Eu fiz inicialmente sem cast, porém dá erro e aparece automático a sugestão do cast.

Criado 3 de setembro de 2013
Ultima resposta 3 de set. de 2013
Respostas 2
Participantes 2