我的问题:
a.jsp经过a.ation到b.jsp,可以在a.jsp、b.jsp中定义同名的text标签,在action中定义get、set方法,实现传值
但是如果a.jsp经过a.ation,然后直接转到b.action(struts.xml中配置),再到b.jsp,怎样传值呢?(除了用session),
有没有上述类似的方法 啊?
a.jsp经过a.ation到b.jsp,可以在a.jsp、b.jsp中定义同名的text标签,在action中定义get、set方法,实现传值
但是如果a.jsp经过a.ation,然后直接转到b.action(struts.xml中配置),再到b.jsp,怎样传值呢?(除了用session),
有没有上述类似的方法 啊?
a.jsp -> a.action -> b.action -> b.jsp
之后,在b.jsp是可以直接从a.action中取值的。参考配置如下:
<action name="a" class="...">
<result type="chain">b</result>
<result name="input">/a.jsp</result>
</action> <action name="b" class="...">
<result >/b.jsp</result>
</action>
试试吧,按这种配置,你是可以从b.jsp中直接取第一个Action中的值的,惊喜吧?呵呵。
<param name="actionName">b?parm1=${参数的名称}</param>
</result>注意,上面的b.action不要写成b.action用b就好了
如果是多个方法就是b!method?p1=p&p2=2...
action是基于每个请求的线程的,a.jsp经过a.ation,然后直接转到b.action(struts.xml中配置),再到b.jsp
你的a 和 b都重新实例化一个线程对象,两个action之间传值,还是用type="redirect-action"好一点,呵呵
chain本质上是就是转发。转发是服务器端内部的调用,
重定向是服务器端到客户端再到服务器端的调用。重定向会创建新的请求和响应对象。
因此,转发到b.action绝对不会损耗比重定向到b.action更多的资源。5楼是暂时糊涂了,还是根本不明白?
action的属性还是在action中,只不过可以通过request对象取得。
详见:http://topic.csdn.net/u/20081022/21/f7ed313a-ff93-4b77-b906-cad8fdc869d1.html第19楼
<action name ="a" class="">
<result type="chain" >/....(b的地址)</result>
</action>
<action name ="....(b的地址)" class="">
<result >/。jsp</result>
</action>