大家一般怎样处理这个问题,用的是struts2,当前台页面的字段较多(20多个)时,怎样在Action处理较好。谢谢了!

解决方案 »

  1.   

    把20多字段 用类的属性表示
    在action 定义类的对象
    页面 对象.属性
      

  2.   

    让action继承ModelDriven接口
    然后定义一个javabean这样Action就简洁多了
      

  3.   

    实际上跟struts1类似,就是定义一个javabean,将前台的字段封装进去,然后在Action里面调用就行:示例代码如下:
    public class AreaForm  implements Serializable{ private static final long serialVersionUID = -648936686471595121L; private String companyId; private Integer areaId; private String areaNo; private String areaName; private String re; private Date updTime; public Integer getAreaId() {
    return areaId;
    } public void setAreaId(int areaId) {
    this.areaId = areaId;
    } public String getAreaName() {
    return areaName;
    } public void setAreaName(String areaName) {
    this.areaName = areaName.trim();
    } public String getAreaNo() {
    return areaNo;
    } public void setAreaNo(String areaNo) {
    this.areaNo = areaNo.trim();
    } public String getCompanyId() {
    return companyId;
    } public void setCompanyId(String companyId) {
    this.companyId = companyId.trim();
    } public String getRe() {
    return re;
    } public void setRe(String re) {
    this.re = re.trim();
    } public Date getUpdTime() {
    return updTime;
    } public void setUpdTime(Date updTime) {
    this.updTime = updTime;
    } public void setAreaId(Integer areaId) {
    this.areaId = areaId;
    }
    }action里面这样写
    public class AreaManager extends ActionSupport
    {
        // 页面参数
        private AreaForm          areaForm;//一定要有下面的get和set方法
        
         public AreaForm getAreaForm()
        {
            return areaForm;
        }    public void setAreaForm(AreaForm areaForm)
        {
            this.areaForm = areaForm;
        }
       
         public String execute() throws Exception
        {
         if(areaForm.getAreaNo=="123")//直接用这样的形式得到页面传过来的参数。
            {
            System.out.println("hello");
            }
         return SUCCESS;
        }
    }