壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5302|回复: 7

[OAF] OAF中页面跳转常用到的setForwardURL()与forwardImmediately()的区别

[复制链接]
发表于 2007/8/31 10:40:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
对于OAF中页面跳转中常用到的setForwardURL()forwardImmediately()的区别

1、使用前者,会在跳转后的页面内容的左上解出现导航链接,后者不会
2、使用前者跳转回引用者时,上一页面的已经存在的查询结果依然存在,而会者,将会清除掉那些已经存在的查询结果怎样(eg:A页面中有一个 Table,并且通过查询得到结果,Table中存在更新列,点击后跳转到B页面,B页面中再跳回时,使用前者方法,A页面上的查询结果依然存在,使用后者,页面上的查询结果将被清除,需要重新查询才能找到刚更新的记录)
3、对于事务是应该会有影响的,前者,如果没有rollback或commit就返回到上页,并且再次跳回时,会发现修改依然存在,在这方面没有对后者进行测试,感觉后者可能不会存在上面情况

我的测试代码:
pageContext.setForwardURL("OA.jsp?page=/abc/oracle/apps/test/report/webui/TEST_PG",
                                null,
                                OAWebBeanConstants.KEEP_MENU_CONTEXT,
                                null,
                                null,
                                true,
                                OAWebBeanConstants.ADD_BREAD_CRUMB_YES,
                                OAWebBeanConstants.IGNORE_MESSAGES);
pageContext.forwardImmediately("OA.jsp?page=/abc/oracle/apps/test/report/webui/TEST_PG",
                                    null,
                                    OAWebBeanConstants.KEEP_MENU_CONTEXT,
                                    null,
                                    null,
                                    false, // retain AM
                                    OAWebBeanConstants.ADD_BREAD_CRUMB_NO);

最后需要说明一下:上面的总结是根据下面的代码得出,也可能存在通过以上代码的不同参考可以达到的效果与我所总结的不同,在此没有进行过多测试,

当然我的总结也很初级,如果您在使用中有其他经验,也欢迎交流,如果上述中有不正之处,也欢迎指正,以共同提高!

同时该总结发布到  OAF开发吧中:http://tiebacommit.baidu.com/f?kz=256780386
发表于 2007/8/31 10:47:36 | 显示全部楼层
呵呵,好东西,以后应该会用到
发表于 2007/8/31 10:52:38 | 显示全部楼层
好啊 现在OAF太缺少了
希望多多 共享一下 赫赫
发表于 2007/8/31 11:41:38 | 显示全部楼层
楼主对这二个方法解释的都不对
对于,第1点,加不加导航链接,是由参数addBreadCrumb控制的,二个方法都可以加的。
第2点,原来的查询结果存在还是不存在,是看VO中是否再次执行过查询,和这二个方法一点关系都没有。
第3点,对于事务没有影响,只是页面链接的跳转。

补充一下,这二个方法的区别从方法的名称就可以大概猜的出来,forwardImmediately会停止当前页面的请求,直接跳转到新的页面;而setForwardURL会等当头页面的请求结束后再跳转。

欢迎指正:D
 楼主| 发表于 2007/8/31 12:30:58 | 显示全部楼层
谢谢 yanerwei指正:

对于第2点这个查询页面跳转后再转回来的页面结果显示问题说明一下:

我的这个页面上的有一个Table组件,并且为其添加了SimpleSearchPanel与simpleSearchMapings的简单查询panel的,

我测试的结果好像是存在这个区别,不知是否哪里设置的区别?

欢迎大家参考讨论,也希望大家都能共享自己的经验
发表于 2007/8/31 15:17:37 | 显示全部楼层

回复 5楼 的帖子

关于你说的第2点,你调用这二个方法时,还有一个参数不相同,retainAM ,第五个参数。可以去查看一下JavaDoc,就知道这个参数有什么作用了。当然你可以测试一下,如果这个参数也一样,会不会出现你说的结果。

[ 本帖最后由 yanerwei 于 2007-8-31 15:59 编辑 ]
发表于 2008/1/3 21:07:07 | 显示全部楼层
讨论很激烈呀,学习了。
发表于 2011/2/9 12:59:40 | 显示全部楼层
。。。。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 00:24 , Processed in 0.020505 second(s), 16 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表