• OAF 从查看详细信息页面跳转回原页面


      在OAF开发中会去调用一个detail页面,在查看完详细以后需要跳转到进入本页面的页面,当然可以使用传递参数的方式把来源的页面用设计好的统一参数传递到详细页面再做处理,但是更好的是利用OAF框架自己有的东西实现。OABreadCrumbsBean中在页面跳转时设置addBreadCrumb=Y或者在setForwardURL方法中倒数第二个参数设置成OAWebBeanConstants.ADD_BREAD_CRUMB_YES的时候就会记录导航路径并且在页面左上角显示。接下来我们在详细页面的CO中的processFormRequest方法中使用代码获取来源页面再跳转回去。

    if(pageContext.getParameter("returnBnt")!=null){
      String url="";
      OARenderingContext context = pageContext.getRenderingContext();
      OABreadCrumbsBean crumb =null;   
      if (webBean instanceof OAPageLayoutBean)
      {
         crumb=((OABreadCrumbsBean)((OAPageLayoutBean)webBean).getBreadCrumbsLocator());
      }
      if(crumb != null)
      {
         MessageHelp.coOutputStringMessage(pageContext,crumb.getIndexedChildCount(context)+"");
         int count=crumb.getIndexedChildCount(context)-2;
         if(count>=0){
             OALinkBean tLink = (OALinkBean)crumb.getIndexedChild(context,count);           
             url=tLink.getDestination().replaceAll("retainAM=N","retainAM=Y");
             if(url.contains("OA.jsp?page=/cinda/oracle/apps/xxt/welfare/webui/ImportPG")){
               url="OA.jsp?page=/cinda/oracle/apps/xxt/welfare/webui/WelfareHeadPG";     
             }
             url=url.substring(url.indexOf("OA.jsp?"));                
          }else{
             url="OA.jsp?page=/cinda/oracle/apps/xxt/welfare/webui/WelfareHeadPG";              
          }      
       }else{
          url="OA.jsp?page=/cinda/oracle/apps/xxt/welfare/webui/WelfareHeadPG";
       } 
       am.invokeMethod("reQuery");
       pageContext.setForwardURL(url,
                                 null,
                                 OAWebBeanConstants.KEEP_MENU_CONTEXT,
                                 null, null, true,
                                 OAWebBeanConstants.ADD_BREAD_CRUMB_YES,
                                 OAWebBeanConstants.IGNORE_MESSAGES);    
    }
  • 相关阅读:
    数论知识点整理
    《STL 源码剖析》 list 实现原理
    《STL 源码剖析》 vector 实现原理
    用户偏爱曲风分析(二)
    C++ 静态库 与 动态库
    用户偏爱曲风分析(一)
    C++ 编程中 的性能问题
    《C++API 设计》4.6 类设计
    《C++ API设计》 4.5 架构设计
    Boost 时间库使用 笔记
  • 原文地址:https://www.cnblogs.com/AI-xiaocai/p/11648296.html
Copyright © 2020-2023  润新知