此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【wylsx】截止到2008-07-22 15:21:47的历史汇总数据(不包括此帖):
发帖的总数量:5                        发帖的总分数:120                      每贴平均分数:24                       
回帖的总数量:33                       得分贴总数量:14                       回帖的得分率:42%                      
结贴的总数量:5                        结贴的总分数:120                      
无满意结贴数:3                        无满意结贴分:220                      
未结的帖子数:0                        未结的总分数:0                        
结贴的百分比:100.00%               结分的百分比:100.00%                  
无满意结贴率:60.00 %               无满意结分率:183.33%                  
敬礼!

解决方案 »

  1.   

    可以用js,用hidden保存select内容。不过我现在正搭框架,不想让开发人员做太多。 
    还有别的方式吗?回显的问题大家应该都会碰到吧,说出来讨论一下啊。
      

  2.   

    用prepare方法来获取你的list,实现Preparable接口
    这里面的prepare方法会在validate之前执行,所以验证即使没有通过,list的值也可以得到public class EditPerson extends ActionSupport implements Preparable{
    private List list;
    ......
    public void prepare() throws Exception {
    this.person = (Person)this.yourService.findList(xxx);
    }
    }
      

  3.   

    写错了点东西,晕
    用prepare方法来获取你的list,实现Preparable接口
    这里面的prepare方法会在validate之前执行,所以验证即使没有通过,list的值也可以得到 
    public class EditPerson extends ActionSupport implements Preparable{
        private List list;
        ......
        public void prepare() throws Exception {
            this.list= this.yourService.findList(xxx);
        }
    }
      

  4.   

    我觉得在 validate方法里 ,能好点吧。
    public void validate() {
    // TODO Auto-generated method stub
    super.validate();
    if(this.hasFieldErrors()){
    logger.info("init prev page list!~");
    }
    }
    因为如果validation通过的话就没有必要在初始化前页的数据了。ps:本人对struts2 不熟,以上纯属愚见。
      

  5.   

    prepare就是为这个做准备的,validate通过的话,就转到其他地方了,也没有再初始化啊你的意见要建立在明白struts2的拦截器的都是干嘛的的基础上的
      

  6.   

    明确一下我的问题,如果validation不通过的话,肯定要返回原页面的,但原页面的select标签的信息如何取得?如果放到Preparable的prepare方法里 也可以,不过如果已经通过了validation,就不返回原页面了,就没有必要取得原页面的信息了。
      

  7.   

    明确一下我的问题,如果validation不通过的话,肯定要返回原页面的,但原页面的select标签的信息如何取得?
    通过prepare取得,struts2的prepare就是用来初始化数据的如果放到Preparable的prepare方法里 也可以,不过如果已经通过了validation,就不返回原页面了,就没有必要取得原页面的信息了。
    那你就放到validate里,就像你说的,没通过就读一下,通过了就不读
      

  8.   

    目前我们用session回显数据,因为除了浪费点内存外,还有别的缺陷嘛???
      

  9.   

    没必要那么麻烦吧。只需要把你的struts配置文件中的input属性改在查询的Action不就OK了。