<td>
<h2><f:message key="cadastroBasico.cadastro.imagem" /></h2>
</td>
</tr>
<tr>
<td align="right">
File Name
</td>
<td align="left">
<h:file property="file"></h:file>
</td>
</tr>
<tr>
<td><f:message key="cadastroBasico.descricao.Imagem" /></td>
<td><h:textarea property="descricao" name="imagemForm" ></h:textarea></td>
</tr>
<tr>
<td><input type="button" onclick="javascript:executar('salvar')"
value='<f:message key="msg.salvar"/>'></td>
<td><input type="button" onclick="javascript:executar('buscarTodos')" value='<f:message key="msg.buscar.todos" />'> </td>
</tr>
</l:equal>
</table>
<div id="errorCad"><c:import url="/pages/comum/error.jsp"></c:import></div>
</h:html>
**esse éo meu arquivo struts xml:
**esse éo meu arquivo Form:
package br.org.portal.vale.web.form;
import org.apache.struts.upload.FormFile;
public class ImagemForm extends FormAbstrato{
private String endereco;
private String descricao;
private String acao;
private FormFile file;
public FormFile getFile() {
return file;
}
public void setFile(FormFile file) {
this.file = file;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public String getAcao() {
return acao;
}
public void setAcao(String acao) {
this.acao = acao;
}
}
[color=red]**Esse éo meu arquivo Action:[/color]
package br.org.portal.vale.web.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import org.apache.struts.upload.FormFile;
import br.org.portal.vale.business.persistencia.Categorias;
import br.org.portal.vale.business.persistencia.Cidade;
import br.org.portal.vale.business.persistencia.Imagem;
import br.org.portal.vale.informatica.business.FornecedorDelegate;
import br.org.portal.vale.util.Constantes;
import br.org.portal.vale.web.form.ImagemForm;
public class ImagemAction extends DispatchAction{
public ActionForward salvar(ActionMapping actionMapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ImagemForm imagemForm = (ImagemForm) form;
Imagem imagem = new Imagem();
Cidade cidade = new Cidade();
Categorias categorias = new Categorias();
FormFile myFile = imagemForm.getFile();
String contentType = myFile.getContentType();
String fileName = myFile.getFileName();
int fileSize = myFile.getFileSize();
byte[] fileData = myFile.getFileData();
System.out.println("contentType: " + contentType);
System.out.println("File Name: " + fileName);
System.out.println("File Size: " + fileSize);
FornecedorDelegate fornecedorDelegate = new FornecedorDelegate();
BeanUtils.copyProperties(imagem, imagemForm);
return actionMapping.findForward(Constantes.DIRECIONA_CADASTRO_IMAGEM);
}
**essa éa Função javascript que chama o método da action: Esse metodo está dentro de um aquivo.
function executar(opcao) {
document.forms[0].acao.value = opcao;
document.forms[0].submit();
}
[color=red]**Esse éo erro que está dando:[/color]
2008-06-23 18:46:26,250 DEBUG struts.util.ModuleUtils -> Get module name for path /imagem.do
2008-06-23 18:46:26,250 DEBUG struts.util.ModuleUtils -> Module name found: default
2008-06-23 18:46:26,250 DEBUG struts.action.RequestProcessor -> Processing a ‘POST’ for path '/imagem’
2008-06-23 18:46:26,250 DEBUG struts.util.RequestUtils -> Looking for ActionForm bean instance in scope ‘session’ under attribute key 'imagemForm’
2008-06-23 18:46:26,250 DEBUG struts.util.RequestUtils -> Can recycle existing ActionForm instance of type ‘br.org.portal.vale.web.form.ImagemForm’?: true
2008-06-23 18:46:26,250 DEBUG struts.util.RequestUtils -> --> br.org.portal.vale.web.form.ImagemForm@a50da4
2008-06-23 18:46:26,250 DEBUG struts.action.RequestProcessor -> Storing ActionForm bean instance in scope ‘session’ under attribute key 'imagemForm’
2008-06-23 18:46:26,250 DEBUG struts.action.RequestProcessor -> Populating bean properties from this request
2008-06-23 18:46:26,250 DEBUG commons.beanutils.BeanUtils -> BeanUtils.populate(br.org.portal.vale.web.form.ImagemForm@a50da4, {acao=[Ljava.lang.String;@19c9f16, file=[Ljava.lang.String;@1909385, descricao=[Ljava.lang.String;@c51614})
2008-06-23 18:46:26,250 DEBUG commons.beanutils.BeanUtils -> setProperty(br.org.portal.vale.web.form.ImagemForm@a50da4, acao, [salvar])
2008-06-23 18:46:26,250 DEBUG commons.beanutils.ConvertUtils -> Convert string ‘salvar’ to class 'java.lang.String’
2008-06-23 18:46:26,250 DEBUG commons.beanutils.ConvertUtils -> Using converter org.apache.commons.beanutils.converters.StringConverter@ba5c7a
2008-06-23 18:46:26,250 DEBUG commons.beanutils.BeanUtils -> setProperty(br.org.portal.vale.web.form.ImagemForm@a50da4, file, [C:\Documents and Settings\Cristian\Desktop\11.txt])
2008-06-23 18:46:26,250 DEBUG commons.beanutils.ConvertUtils -> Convert string ‘C:\Documents and Settings\Cristian\Desktop\11.txt’ to class 'org.apache.struts.upload.FormFile’
2008-06-23 18:46:26,250 DEBUG commons.beanutils.ConvertUtils -> Using converter org.apache.commons.beanutils.converters.StringConverter@ba5c7a
23/06/2008 18:46:26 org.apache.catalina.core.StandardWrapperValve invoke
** Eu acredito que seja pela falta do <enctype=“multipart/form-data”> no form, mas eu ja coloquei e mesmo assim não reconheçe, quem tiver uma solução ou uma dica eu agradeço.