首先有一个假设,这两个action中的form都是同一个类型,第一个action称为action1,第二个action称为action2
在strutts中,若从action1跳转到action2的话,则在action2中,struts会重新从reqeust(或session或context)中取出数据,重新设置到form中.所以,若想在两个action之间传递数据,不可以在action1中设置form,而是通过request(或者session,或者context,不过最好还是request,因为这两个action之间的传递,本质上是一次新的request),可以直接覆盖想传递的属性parameter或者attribute, 在第二个action中,struts会自动取出数据,设置到form中,也可以使用别的名称,在action2手动取出这个数据,在手动设置到form中.
那为什么呢?其实这不是struts的设计失误,而是实际情况没办法做到用form来传递数据,因为action2不清楚这是从别的action传递过来的,有可能是从client端传过来的.还有,action2也不知道这个form是从什么地方来的.所以action2要重新设置form的值.
struts中在两个action之间进行传递数据的方法
最新推荐文章于 2018-07-08 15:27:48 发布