struts2 ,页面验证失败后,页面上的list等数据丢失,怎么解决,实现Preparable接口,我感觉不是解决方法,应该还有别的解决办法吧,求教

解决方案 »

  1.   

    使用struts2的表单标签,或者在表单标签中的value属性用el获取下值。
      

  2.   

    难道是把数据先存到 一个hidden里,然后哪个action加相关属性?
      

  3.   

    list值肯定要重新取得,参照以下做法。1.在Action中写一个getSexMap方法 public Map <String, String> getSexMap() {     Map <String, String> map = new TreeMap <String, String>(); 
        map.put("1", "男"); 
        map.put("2", "女"); 
        return map; 
    } 2.jsp写法: 
    <s:select name="manFile.manSex" theme="simple" list="sexMap"> 
    </s:select>
      

  4.   

    JAVA爱好者讨论群,欢迎大家的加入:100756746
      

  5.   

    用struts2标签,OGNL表达式<s:textfield name="xxx" value="%{ xxx.xxx }" /> 就可以取到值了
      

  6.   

    list值呢? 必须重新获得吗?
      

  7.   

    不知道STRUTS2是怎么验证的 前不前后不后的 如果这个页面需要一些从其他页面传来的数据的话 还是不要用这个东西验证了
      

  8.   

    告诉你一个简答方法,把保存list的方法放在action某个属性的get方法里
      

  9.   

    我猜你是把业务方法放在返回页面那个方法了,这样校验错误就不会进入你那个访问action的方法,自然会
    找不到list 上面那个方法是我总结出来的。如果要在业务方法里执行也是可以的,那就需要跳转aciton,
    这样你还会报错--input页面找不到,如果你在跳转的action里配置input页面,接下来又会报list找不到。
    这时你只需要讲method方法改为input,恭喜你,问题就终于解决了。与其这么麻烦 所以我说可以直接将list写在get方法内,这样就简单多了。
    想不想知道为什么呢?这你就需要对原理有一定的掌握了。至于你list找不到我已经说明了,没有进入action,能找到list才怪。 
    你现在应该可以解决问题了,如果想知道原理,come on  先来点分 
      

  10.   

    在页面上加入一行代码:request.setAttribute("xxx",list);