在structs中上传的时候,ActionForm该怎么定义呢?
主要是不知道ActionForm里面该有些什么属性用来接收页面上传的数据呢?
比如:
package com.macrosoft.web.upload;import org.apache.struts.action.ActionForm;public class UploadForm extends ActionForm {
//该怎么定义属性和相应的get和set??
}望高手指教~

解决方案 »

  1.   

    Action中的属性名最好和表单定义的一样,比如登陆表单:
    姓名:<input type="text" name="uname">
    密码:<input type="password" name="pwd">那么你的ActionForm中最好定义的属性为:
    private String uname;//其变量名也可以
    private String pwd;;//其变量名也可以public void setUname(String uname){//方法名不能换,get后面的uname要跟form中的一致,下面的其他方法也一样
    ...
    }
    public String getUname(){
    ...
    }
    public void setPwd(String pwd){
    ...
    }
    public String getPwd(){
    ...
    }
      

  2.   

    我的资源里有个struts1.2上传源码,包含检查文件格式、大小等功能。下载后即可投入使用
    楼主去看看,参考一下
      

  3.   

    ActionForm类是用于封装request中的数据,Struts可以讲request中的数据根据名称相同自动填充到ActionForm中,
    以避免request.getParamter()和类型转换的繁琐.这就是它产生的缘由....
      

  4.   

    需要定义一个FormFile类型的属性来接收文件,同时html的form还要设置enctype="multipart/form-data"
      

  5.   

    试试吧:
    private String title;

    //必须采用FormFile
    private FormFile myfile; public String getTitle() {
    return title;
    } public void setTitle(String title) {
    this.title = title;
    } public FormFile getMyfile() {
    return myfile;
    } public void setMyfile(FormFile myfile) {
    this.myfile = myfile;
    }
      

  6.   

    你把你实体类里面的属性 要跟页面上一致就行了  因为页面上提交的数据都是request传送过来 它可以自己在找到这个属性并在set方法中赋值
    如:
    姓名:<input type="text" name="userName"> //记住这里的name只能set和get方法后面的属性匹配如:红色部分 并把第一个字母小写public class UploadForm extends ActionForm { 
    //该怎么定义属性和相应的get和set?? 
       private String userName;  public String getUserName() { 
         return title; 
          } public void setUserName(String userName) { 
         this.userName= userName; 
          } } 
      

  7.   

    需要两个jar包,common-file*** 和common-io的来着