estou tem problema em fazer uma pagina de upload com o struts
Minha classe Bean:
package br.com.geropder.aspectos.beans.modelos;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.struts.upload.FormFile;
public class Arquivo {
private FormFile arquivo;
private String tipoArquivo;
private String nomeArquivo;
private int tamanhoArquivo;
private byte[] dadosArquivo;
public void setArquivo(FormFile arquivo){
this.arquivo = arquivo;
this.tipoArquivo = this.arquivo.getContentType();
this.nomeArquivo = this.arquivo.getFileName();
this.tamanhoArquivo = this.arquivo.getFileSize();
}
public FormFile getArquivo(){
return this.arquivo;
}
public String getTipoArquivo(){
return this.tipoArquivo;
}
public String getNomeArquivo(){
return this.nomeArquivo;
}
public int getTamanhoArquivo(){
return this.tamanhoArquivo;
}
public byte[] getDadosArquivos(){
return this.dadosArquivo;
}
}
minha classe FormAction
package br.com.geropder.aspectos.struts.form;
import br.com.geropder.aspectos.beans.modelos.Arquivo;
import org.apache.struts.action.ActionForm;
public class UploadForm extends ActionForm {
private Arquivo arquivo = new Arquivo();
public Arquivo getArquivo(){
return this.arquivo;
}
}
minha classe Action simples apenas criando o form e imprimindo os dados do arquivo:
package br.com.geropder.aspectos.struts.action;
import br.com.geropder.aspectos.beans.modelos.Arquivo;
import br.com.geropder.aspectos.struts.form.UploadForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class UploadAction extends Action{
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception{
UploadForm formulario = (UploadForm) form;
Arquivo arquivo = formulario.getArquivo();
System.out.println("Tipo de arquivo: " + arquivo.getTipoArquivo());
System.out.println("Nome do Arquivo: " + arquivo.getNomeArquivo());
System.out.println("Tamanho do Arquivo: " + arquivo.getTamanhoArquivo());
HttpSession session = request.getSession();
session.setAttribute("arquivo", arquivo);
return mapping.findForward("ok");
}
}
meu struts-config.xml
<form-beans>
<form-bean name="UploadForm" type="br.com.geropder.aspectos.struts.form.UploadForm"/>
</form-beans>
<action-mappings>
<action path="fileUpload" name="UploadForm" scope="request"
type="br.com.geropder.aspectos.struts.action.UploadAction">
<forward name="ok" path="paginas/vistoria/vistoria.jsp"/>
</action>
</action-mappings>
Meu arquivo JSP
<%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<html:html>
<head>
<title>Upload do Arquivo</title>
</head>
<body bgcolor="white">
<html:form action="/fileUpload" focus="arquivo.arquivo">
<table>
<tr>
<td align="center" colspan="2">
<font size="4">Buscar Aquivos</font>
</tr>
<tr>
<td align="left" colspan="2">
<font color="red">
<html:errors/>
</font>
</tr>
<tr>
<td align="right">
Arquivo
</td>
<td align="left">
<html:file property="arquivo.arquivo"/>
</td>
</tr>
<tr>
<td align="center" colspan="2">
<html:submit>Upload</html:submit>
</td>
</tr>
</table>
</html:form>
</body>
</html:html>
se alguem puder me ajudar por favor de já agradeço