SAP CAP 第 7 部分:将 Fiori Launchpad 入口添加到 CAP(沙盒环境)
本系列之前的文章
本系列之前的文章:
SAP CAP 第 1 部分:基于 Java 实现快速创建服务
SAP CAP 第 2 部分:为服务添加数据库支持
SAP CAP 第 3 部分:定义模型
SAP CAP 第 4 部分:针对 CAP添加 Fiori Elements 程序 (1)
SAP CAP 第 5 部分:将 Fiori Elements 程序添加到 CAP (1)
SAP CAP 第 6 部分:将 Fiori Elements 程序添加到 CAP (3)
继续增强现有代码
根据第4部分到第6部分的修改和增强,现有代码结构如下:
增强应用程序
文件夹
在app
文件夹中添加以下文件:
- package.json
appconfig
文件夹
文件package.json
第四部分提到过,这里的app
文件夹实际上是为approuter
准备的,所以,package.json
定义如下:
{"名称": "approuter","依赖项": {"@sap /approuter": "^13"},"脚本":{“开始”:"节点node_modules/@sap/approuter/approuter.js"}
}
文件夹appconfig
在app
文件夹下创建一个新的子文件夹appconfig
。该文件夹用于提供Fiori Launchpad
的Sandbox系统。实际部署到SAP BTP时,需要遵循Launchpad定义的标准。
文件fioriSandboxConfig.json
在新创建的appconfig
下创建创建fioriSandboxConfig.json
。该文件用于定义 Launchpad Sandbox 环境。
{"服务": {"启动页面": {“适配器”: {"配置": {"目录": [], “群组”: [{"id": "管理员","标题" : "管理员","已预设":true,"可见": true,"已群组锁定": false,"磁贴" :[{"id": "管理书籍","tileType": “sap.ushell.ui.tile.StaticTile” ,"属性": {"目标URL": "#图书管理", "标题": "管理图书","描述": “找到你最喜欢的书”} }]},{"id":“书”,“书名”: "书","已预设": true ,“可见”: true,"已群组锁定": false,"瓷砖": [{"id": “浏览书籍” ,"tileType": "sap.ushell.ui.tile.StaticTile","属性": {"目标URL": "#图书显示","标题": “展示书籍”,“描述”: “找到你最喜欢的书”}}]}]}}},"导航目标分辨率":{"配置": {"启用ClientSideTargetResolution" :true}},"客户端目标分辨率": {“适配器”: {"配置": {"入界" : {"管理书籍": {"语义对象": "书籍", “动作”:"管理","签名": {"参数": {},"附加参数": "允许"},"分辨率Result": {"应用程序类型": "SAPUI5",“附加信息”: "SAPUI5.Component=管理书籍","url": "/manage-books/webapp"} } ,"浏览书籍": {"语义对象": “书籍”,“行动”: “显示”,“签名”: {“参数”: { },"附加参数": "允许"}, "解析结果": {"应用程序类型": "SAPUI5","附加信息": “SAPUI5.Component=浏览书籍” ,"url": "/浏览图书/webapp"}}}} }}}}
这里的沙盒的入站定义,完全对应了篇六的两个Fiori Elements程序的“semanticObject”:和
“action”。
该配置要求接入口为fiori.html
,所以,继续创建该HTML文件。
文件fiori.html
文件fiori.html
用作Fiori Launchpad
- 类似于index.html 大多数 HTML 程序。 一样。所以,这个
fiori.html
是标准Fiori Launchpad
的定义文件。
将此 HTML 文件添加到 app
文件夹下:
DOCTYPE html>
<html><头><元http-equiv="X-UA 兼容" 内容="IE=边缘" /> <元http-equiv="内容类型" 内容=" text/html;字符集=UTF-8"/><元名称=》查看端口" 内容="宽度=设备宽度,初始比例=1.0"/><标题> 菲奥里标题><脚本>窗口["sap-ushell-config" ] = {默认渲染器: "fiori2",应用程序 : {}};脚本><脚本id= "sap-ushell-bootstrap “src=”https://www.introzo.com/1.115.0/test-resources/sap/ushell/bootstrap/sandbox.js“>脚本><脚本id ="sap-ui-bootstrap" src="https://www.introzo.com/1.115.0/resources/sap -ui-core.js“data-sap-ui-libs=”sap.m,sap.ushell,sap.collaboration,sap.ui.layout“数据SAP -ui-compatVersion="edge"data-sap-ui-主题=" sap_horizon"数据-sap-ui-frameOptions="允许">脚本><脚本 >sap.ui.getCore().attachInit(()=>树液.ushell.容器. createRenderer().placeAt("内容"))脚本>头 ><body类=“sapUiBody” id="内容">身体>
html>
更新Srv
中的UiIndexContentProviderFactory
更新UI索引的入口:
@Overridepublic void writeContent(PrintWriter writer, String contextPath) {作家.打印(ENDPOINT_START);作家。 printf(ENDPOINT, contextPath + "/fiori.html", "Fiori Launchpad " );作者.打印(ENDPOINT_END);}
再次检查代码
本文增强后,最新代码结构如下:
操作效果
代码库(Gitcode)
本文附带的代码
各分支的详细介绍请参考www.introzo.com
。
本文对应的分支是3_withlaunchpad
。
相关文章
- 10-05 【第422期】SpringBoot面试问答总结(V
- 10-05 【第422期】SpringBoot面试问答总结(V
- 10-05 面试官:Redis如何实现持久化,哨兵的主从是什么
- 10-05 有什么免费好用的P图软件? (有没有免费的P图软件
- 10-05 在vs2010中查看总代码量【在vs2019中查看
- 10-05 tl432引脚图及参数(tl431引脚图)
- 10-05 golang有课程吗?
- 10-05 Rabbitmq常用函数封装(php版)
- 10-05 golang映射是否需要make
- 10-05 Golang使用socket中文乱码解决办法
- 10-05 Golang中的协程同步和性能优化
- 10-05 非关系型数据库对我们的Web项目有什么帮助,我们可
- 10-05 Windows Server
- 10-05 Docker - Windows 版本 Docke
- 10-05 Windows Server版本简介
- 10-05 Adaboost Boosting算法从原理到实践
- 10-05 游戏编程系列[1]--RPC协议在游戏编程中的使用
- 10-05 REST简介
- 10-05 Linux磁盘分区方案浅析
- 10-05 SharePoint2016安装过程中出现“Mic
- 最近发表