public class PrintAction extends AbstractAction
{
        private List queryList;
//四个页面传值
        private String data;
private String cgname;
private String huiyi;
private String yizhu;
.....        get()..set()..
}
这样jsp通过name来接受 这四个值。
 如果我得查询结果需要展示50个值,难道要定义50个类属性,50对get set?
有没有 什么更好的方法?网上搜了搜,有一种按类模型传递参数,请问那种按类传值得是怎么做?

解决方案 »

  1.   

    不明白你的意思,为什么不放在bean里面?
      

  2.   

     public class PrintAction extends AbstractAction implements ModelDriven<User>{
    private User user=new User(); @Override 
    public User getModel() { 
       // TODO Auto-generated method stub 
       return user; 

    }
      

  3.   


    请教怎么放到bean里? 查询结果是一个list 
      

  4.   

    list里装的是自定义bean,或者你的action成员变量改成public,struts2会自动帮你填充(以前有人这么说,没试过)
      

  5.   

    为什么不用map?通过map在jsp也很好取值呀,那样只要传map过去就ok了
      

  6.   

    struts前台标签有专门处理迭代的标签,用来处理list很方便
    http://struts.apache.org/release/2.3.x/docs/iterator.html
      

  7.   

    pojo和数据库表可以有映射关系吧,事先应该根据业务需要建立好这样的java类,然后注入各属性值
      

  8.   

    创建java类,然后在action中使用这个类
      

  9.   

    将属性封装到一个类中。
    action接收前面传来的参数有属性驱动和模型驱动( ModelDriven),你这用的是属性驱动,如果属性多了,可以采用模型驱动。
      

  10.   

    万恶的SSH框架帮你解决一切...
      

  11.   


    public class PrintAction extends AbstractAction implements ModelDriven<User>{
    private User user=new User(); 
     
    @Override 
    public User getModel() { 
       // TODO Auto-generated method stub 
       return user; 
    }public String exeUser() {   //action 方法中
      String yizhu = user.getYizhu();
      //其他依次类推
    }
     
    }要注意的是User bean中的属性名要和提交action的表单中的name字段一致。
    楼主明白了吗?
      

  12.   

    哦,也是,如果全部是public也就不需要那么多set,get方法