zoukankan      html  css  js  c++  java
  • sapui5 app之间迁移

    sapui5使用hash(#)来标记各个画面。

    如Home的url

    如Deriect的url

    我们可以看到只有hash之后的内容是不同的,所以两个app之间的跳转,我们只需要改变url的hash就可以了。

    创建App1

    添加跳转事件

            onRedirect: function () {
                // get a handle on the global XAppNav service
                var oCrossAppNavigator = sap.ushell.Container.getService("CrossApplicationNavigation"); 
                oCrossAppNavigator.isIntentSupported(["ZTESTAPP3-display"])
                    .done(function(aResponses) {
    
                    })
                    .fail(function() {
                        //alert("Provide corresponding intent to navigate");
                    });
                // generate the Hash to display a employee Id
                var hash = (oCrossAppNavigator && oCrossAppNavigator.hrefForExternal({
                    target: {
                        semanticObject: "ZTESTAPP3",
                        action: "display"
                    },
                    params: {
                    "EmpId2": 10
                    }
                })) || ""; 
                //Generate a  URL for the second application
                var url = window.location.href.split("#")[0] + hash; 
                //Navigate to second app
                sap.m.URLHelper.redirect(url, false); 
            }

    其中的"ZTESTAPP3"就是我们需要跳转的App。

    当发布App的时候又两种形式

    第一种是发布在sap cloud platform上。

    发布App3

    当注册的时候,需要指定Semantic Object与Action,指定的这部分内容会反映在url的hash中,所以需要与App1的跳转的设置一致。

    另外一种是发布到Abap Repository上

    登入sapgui,使用Tcode /UI2/SEMOBJ(/o/UI2/SEMOBJ),生成Semantic Object。

    这样可以在fiori的管理页面中,使用Semantic Object。

    使用这里设置的Semantic Object与action,来进行跳转。

    sap.m.URLHelper.redirect(url, false); false的场合,不会打开新页面,ture的场合,打开新页面。

    参照blog:https://blogs.sap.com/2017/06/23/cross-app-navigation-in-sap-fiori-launchpad/

  • 相关阅读:
    怎样运用Oracle的BFILE
    第一个博客
    返回引用的函数
    c++之SQLite的增删改查
    sqlite命令行程序说明
    CreateProcess函数详解
    注册窗口类
    radio button的用法
    跨线程使用CSocket
    关于socket的connect超时的问题
  • 原文地址:https://www.cnblogs.com/suoluo119/p/11583875.html
Copyright © 2011-2022 走看看