哦跟ACTION没关系吧
去掉enctype="multipart/form-data" 就正常了

解决方案 »

  1.   

    这是抱错的内容请高手帮我看看!
    javax.servlet.ServletException: BeanUtils.populate
    org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1254)
    org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    root cause java.lang.IllegalArgumentException: argument type mismatch
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:324)
    org.apache.commons.beanutils.PropertyUtils.setSimpleProperty(PropertyUtils.java:1789)
    org.apache.commons.beanutils.PropertyUtils.setNestedProperty(PropertyUtils.java:1684)
    org.apache.commons.beanutils.PropertyUtils.setProperty(PropertyUtils.java:1713)
    org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:1019)
    org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
    org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1252)
    org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      

  2.   

    argument type mismatch是什么错误啊?
    关注中,帮不上忙,帮你顶一下
      

  3.   

    这是因为jspSmartUpload上传组件不符合STRUTS标准,所以当你在STRUTS里面调用它时,就会出现以上错误,建议使用STRUTS的上传组件,否则在这个页不要使用STRUTS,直接用JSP就行了
      

  4.   

    能给个STRUTS的上传组件的例子吗?
      

  5.   

    action="registerUsersAction.do",你把action提交页换成一个jsp页试试
      

  6.   

    package tuofang.user;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionForm;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.Action;
    import java.io.UnsupportedEncodingException;
    import org.apache.struts.action.ActionError;
    import org.apache.struts.action.ActionErrors;
    import javax.servlet.http.*;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.*;
    import org.apache.struts.upload.FormFile;
    import java.io.InputStream;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.io.FileOutputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.FileNotFoundException;import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ForwardingActionForward;
    import org.apache.struts.upload.FormFile;
    import org.apache.struts.util.MessageResources;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    public class RegisterUsersAction
        extends Action {
      public ActionForward execute(ActionMapping actionMapping,
                                   ActionForm actionForm,
                                   HttpServletRequest servletRequest,
                                   HttpServletResponse servletResponse) throws
          UnsupportedEncodingException {
        RegisterUsersActionForm registerUsersActionForm = (RegisterUsersActionForm)
            actionForm;
         User user=registerUsersActionForm.getUser();
         MethodBean bean =new MethodBean();
         ActionErrors errors=new ActionErrors();
         if(bean.getUsers(user)!=null){
           errors.add("errorUsersRegister",new ActionError("add_user.error.register"));
           this.saveErrors(servletRequest,errors);
          return actionMapping.findForward("registerErrors");
        }
         String dir=servlet.getServletContext().getRealPath("/upload");
         FormFile file=registerUsersActionForm.getFile();
         String fname=file.getFileName();
         InputStream streamIn = file.getInputStream();
         OutputStream streamOut = new FileOutputStream(dir + "/"+fname);
         int bytesRead = 0;
         byte[] buffer = new byte[8192];
         while ((bytesRead = streamIn.read(buffer, 0, 8192)) != -1) {
         streamOut.write(buffer, 0, bytesRead);
            }
         streamOut.close();
         streamIn.close();
         bean.addusers(user);
        return actionMapping.findForward("");
      }
    }
    我换成Struts的编译时出错了!
    请大家帮我看看怎么解决
    "RegisterUsersAction.java": unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown at line 55, column 48
    "RegisterUsersAction.java": unreported exception java.io.IOException; must be caught or declared to be thrown at line 55, column 48
    "RegisterUsersAction.java": unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown at line 56, column 31
    "RegisterUsersAction.java": unreported exception java.io.IOException; must be caught or declared to be thrown at line 59, column 39
    "RegisterUsersAction.java": unreported exception java.io.IOException; must be caught or declared to be thrown at line 60, column 21
    "RegisterUsersAction.java": unreported exception java.io.IOException; must be caught or declared to be thrown at line 62, column 21
    "RegisterUsersAction.java": unreported exception java.io.IOException; must be caught or declared to be thrown at line 63, column 20