<action path="/..."
type="...."
scope="session/scope"
.../>
<forward name="..." path="..."/>
</action>
这个scope,默认情况下是session,也就是在整个回话中,ActionServlet自动为你创建一个session,会把form里的数据自动设置到session里面,这个session的名字就是你的action关联的form类的名字。场合一般就是一个页面需要向下一个页面传值是,得把scope设置成session的,因为你请求到下一个页面,需要在这个页面把上一个页面的数据取出来,就得用session了。
可是通常情况下我们都是用的reques,一次请求就够了。通常的场合是,我们在这个action里调用完模型层后,意思就是把值从数据库里面取出来后,需要把结果放到另一个JSP页面展示出来。这时候一般的做法就是把scope设置为request。直接在这个action里request.setAttribute("",""),然后再JSP页面里通过标签把结果取出来进行展示。因为如果你默认session的话,session里面会存放的越来越多,就得每次调用完模型层后就清空session里面的数据,后者在form类里重写reset方法。所以如果不是页面直接连续的传值得话,一般我们设置scope为request的。
type="...."
scope="session/scope"
.../>
<forward name="..." path="..."/>
</action>
这个scope,默认情况下是session,也就是在整个回话中,ActionServlet自动为你创建一个session,会把form里的数据自动设置到session里面,这个session的名字就是你的action关联的form类的名字。场合一般就是一个页面需要向下一个页面传值是,得把scope设置成session的,因为你请求到下一个页面,需要在这个页面把上一个页面的数据取出来,就得用session了。
可是通常情况下我们都是用的reques,一次请求就够了。通常的场合是,我们在这个action里调用完模型层后,意思就是把值从数据库里面取出来后,需要把结果放到另一个JSP页面展示出来。这时候一般的做法就是把scope设置为request。直接在这个action里request.setAttribute("",""),然后再JSP页面里通过标签把结果取出来进行展示。因为如果你默认session的话,session里面会存放的越来越多,就得每次调用完模型层后就清空session里面的数据,后者在form类里重写reset方法。所以如果不是页面直接连续的传值得话,一般我们设置scope为request的。