UI5-文档-4.10-Descriptor for Applications
所有特定于应用程序的配置设置现在将进一步放在一个名为manifest的单独描述符文件中。json。这清楚地将应用程序编码从配置设置中分离出来,使我们的应用程序更加灵活。例如,所有SAP Fiori应用程序都是作为组件实现的,并附带一个描述符文件,以便托管在SAP Fiori启动板中。
SAP Fiori launchpad充当应用程序容器并实例化应用程序,而没有用于引导的本地HTML文件。相反,将解析描述符文件,并将组件加载到当前HTML页面。这允许多个应用程序在相同的上下文中显示。每个应用程序都可以定义本地设置,例如语言属性、支持的设备等等。我们还可以使用描述符文件加载额外的资源并实例化像i18n资源包这样的模型。
Preview
An input field and a description displaying the value of the input field (No visual changes to last step)
Coding
You can view and download all files at Walkthrough - Step 10.
谨慎:自动模型实例化仅在SAPUI5 1.30版本中可用。如果使用旧版本,可以在组件的init方法中手动实例化应用程序的资源包和其他Component.js文件,正如我们在步骤9:组件配置Step 9: Component Configuration.。
webapp/manifest.json (New)
{
"_version": "1.8.0",
"sap.app": {
"id": "sap.ui.demo.walkthrough",
"type": "application",
"i18n": "i18n/i18n.properties",
"title": "{{appTitle}}",
"description": "{{appDescription}}",
"applicationVersion": {
"version": "1.0.0"
}
},
"sap.ui": {
"technology": "UI5",
"deviceTypes": {
"desktop": true,
"tablet": true,
"phone": true
}
},
"sap.ui5": {
"rootView": {
"viewName": "sap.ui.demo.walkthrough.view.App",
"type": "XML",
"async": true,
"id": "app"
},
"dependencies": {
"minUI5Version": "1.30",
"libs": {
"sap.m": {}
}
},
"models": {
"i18n": {
"type": "sap.ui.model.resource.ResourceModel",
"settings": {
"bundleName": "sap.ui.demo.walkthrough.i18n.i18n"
}
}
}
}
}
请注意:在本教程中,我们只介绍描述符文件最重要的设置和参数。在SAP Web IDE中,您可能会得到验证错误,因为缺少一些设置—您可以在此上下文中忽略这些设置。
manifest.json文件是json格式的配置对象,它包含所有全局应用程序设置和参数。manifest文件被称为应用程序、组件和库的描述符,当用于应用程序时也称为“描述符”或“应用程序描述符”。 它存储在webapp文件夹中,由SAPUI5读取以实例化组件。清单中有三个由名称空间定义的重要部分在manifest.json文件:
▪sap.app
app名称空间包含以下特定于应用程序的属性:
▪id (mandatory):应用程序组件的名称空间,ID不能超过70个字符。它必须是惟一的,并且必须与组件ID/名称空间相对应。
▪类型:定义我们要配置的,这里是:应用程序an application
▪i18n:定义资源包文件的路径
▪标题:应用程序在句柄语法中的标题,引用自应用程序的资源包
▪描述:应用程序在从应用程序资源包引用的车把语法中所做的简短描述文本
▪ applicationVersion:应用程序的版本,以便以后能够方便地更新应用程序
▪sap.ui
ui名称空间提供了以下特定于ui的属性:
技术:该值指定UI技术;在我们的例子中,我们使用SAPUI5
deviceTypes:告知应用程序支持哪些设备:台式机、平板电脑、手机(默认为true)
▪sap.ui5
ui5命名空间添加由SAPUI5自动处理的特定于SAPUI5的配置参数。最重要的参数是:
▪ rootView:如果指定此参数,组件将自动实例化该视图并将其用作该组件的根
▪依赖关系:这里我们声明应用程序中使用的UI库
▪模型:在描述符的这一部分中,我们可以定义在应用程序启动时由SAPUI5自动实例化的模型。现在我们可以定义本地资源包。我们将模型的名称“i18n”定义为键,并通过名称空间指定包文件。与前面的步骤一样,包含翻译文本的文件存储在i18n文件夹中,名为i18n.properties。我们只是在文件的路径前面加上应用程序的名称空间。在这个步骤的后面将删除应用程序组件init方法中的手动实例化。
出于兼容性原因,根对象和每个部分在内部属性_version下声明描述符版本号1.1.0。在描述符的未来版本中可能会添加或更改特性,版本号有助于通过读取描述符的工具识别应用程序设置。
请注意:资源包的属性包含在描述符中的两个大括号中。这不是SAPUI5数据绑定语法,而是在句柄语法中对描述符中的资源包的变量引用。在本教程中构建的应用程序中看不到引用的文本,但是可以由SAP Fiori launchpad之类的应用程序容器读取。
webapp/i18n/i18n.properties
# App Descriptor appTitle=Hello World appDescription=A simple walkthrough app that explains the most important concepts of SAPUI5 # Hello Panel showHelloButtonText=Say Hello helloMsg=Hello {0}
在资源包中,我们简单地为应用程序添加文本,并添加注释,以便在语义上分隔这些文本。
webapp/Component.js
sap.ui.define([ "sap/ui/core/UIComponent", "sap/ui/model/json/JSONModel" ], function (UIComponent, JSONModel) { "use strict"; return UIComponent.extend("sap.ui.demo.walkthrough.Component", { metadata : { manifest: "json" }, init : function () { // call the init function of the parent UIComponent.prototype.init.apply(this, arguments); // set data model var oData = { recipient : { name : "World" } }; var oModel = new JSONModel(oData); this.setModel(oModel); } }); });
提示:在以前的SAPUI5版本中,应用程序的其他配置设置,如服务配置、根视图和路由配置,必须添加到组件的元数据Component.js文件。在SAPUI5 1.30版本中,我们建议您在清单中定义这些manifest.json文件描述符。基于旧SAPUI5版本创建的应用程序和示例仍然使用该Component.js文件为这个目的-所以它仍然支持,但不建议。在组件的元数据部分,我们现在用属性键清单和值json替换rootView属性。这定义了对描述符的引用,该描述符将在组件实例化时自动加载和解析。现在我们可以完全删除包含资源包的模型实例化的代码行。它是由SAPUI5在描述符中的配置条目的帮助下自动完成的。我们还可以删除对sap/ui/model/resource/ResourceModel和对应的形式化参数ResourceModel的依赖关系,因为我们不会在匿名回调函数中使用它。
Conventions
▪描述符文件被命名为manifest.json并位于webapp文件夹中。
▪标题和应用程序描述使用可翻译字符串。
Parent topic: Walkthrough
Previous: Step 9: Component Configuration
Next: Step 11: Pages and Panels
Related Information
Descriptor for Applications, Components, and Libraries
UI5-文档-4.10-Descriptor for Applications的更多相关文章
- Redis集群部署文档(Ubuntu15.10系统)
Redis集群部署文档(Ubuntu15.10系统)(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如 ...
- C# 打印PDF文档的10种方法
操作PDF文档时,打印是常见的需求之一.针对不同的打印需求,可分多种情况来进行,如设置静默打印.指定打印页码范围和打印纸张大小.双面打印.黑白打印等等.经过测试,下面将对常见的几种PDF打印需求做一些 ...
- 一天搞定CSS: 浮动(float)及文档流--10
浮动(float),一个我们即爱又恨的属性.爱,因为通过浮动,我们能很方便地布局: 恨,浮动之后遗留下来太多的问题需要解决,特别是IE6-7(以下无特殊说明均指 windows 平台的 IE浏览器). ...
- Prism 4 文档 ---第10章 Silverlight和WPF之间共享代码
本主题帮助你理解来自Prism的多目标和它的优缺点.多目标的代码针对两个不同的平台有大致相同的代码库.这允许同时保持代码尽可能多一样能够产生针对两种不同技术的二进制文件.在这种情况下,本节介绍 ...
- 破解Aspose 操作pdf word等文档 对10以下版本有效
using System; using System.IO; namespace LicenseHelper { public static class License { public const ...
- Atitit.atiagent agent分销系统 代理系统 设计文档
Atitit.atiagent agent分销系统 代理系统 设计文档 1. 启动项目1 2. 首也2 3. 登录功能2 4. 用户中心2 5. 充值查询3 6. 授权下级代理4 7. 我的提成5 ...
- 使用sp_xml_preparedocument处理XML文档
有时会在存储过程中处理一些XML格式的数据,所以会用到sp_xml_preparedocument,他可以将XML数据进行读取,然后使用 MSXML 分析器 (Msxmlsql.dll) 对其进行分析 ...
- Indri中的动态文档索引技术
Indri中的动态文档索引技术 戴维 译 摘要: Indri 动态文档索引的实现技术,支持在更新索引的同时处理用户在线查询请求. 文本搜索引擎曾被设计为针对固定的文档集合进行查询,对不少应用来说,这种 ...
- sp_xml_preparedocument _使用 处理XML文档
有时会在存储过程中处理一些XML格式的数据,所以会用到sp_xml_preparedocument,他可以将XML数据进行读取,然后使用 MSXML 分析器 (Msxmlsql.dll) 对其进行 ...
- JavaScript权威指南--脚本化文档
知识要点 脚本化web页面内容是javascript的核心目标. 第13章和14章解释了每一个web浏览器窗口.标签也和框架由一个window对象所示.每个window对象有一个document对象, ...
随机推荐
- 转oracle 学习 - 表空间
Oracle 数据库的表空间和 Oracle 数据库数据文件 关于 Oracle 数据库的表空间. 很多 Oracle 初学者弄不明白表空间的概念和意义,他们只知道给数据库建表的时候需要到表空间这个东 ...
- Linux安装python2.7、pip和setuptools
一.说明 CentOS6.5自带python环境为2.6,公司的python环境为2.7. 为了避免出现以后代码出现版本差异,所以把自带的2 .6版本升级到了2.7,过程十分曲折.... 中途遇到的问 ...
- Maven的dependency scope属性
官方地址:https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependen ...
- Python与机器学习
pandas里面的对于数据操作比如where,drop以及dropna等都会有一个属性:inplace,这个单词意思是原地,如果inplace=true代表数据本身要返回(原地数据也会被改变):如果i ...
- Cenots7对lvm逻辑卷分区大小的调整
Cenots7对lvm逻辑卷分区大小的调整 (针对xfs和ext4不同文件系统) 1.支持的文件系统类型 特别注意的是: resize2fs命令 针对的是ext2.ext3.ex ...
- ML(1): 入门理论
机器学习相关的文章太多,选取一篇本人认为最赞的,copy文章中部分经典供自己学习,摘抄至 http://www.cnblogs.com/subconscious/p/4107357.html#firs ...
- js 取整
1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍五入. js: Math.round(7/2 ...
- [转]生成 Excel.dll
来自:http://bbs.csdn.net/topics/330137762 默认的情况下microsoft excel 11.0 object library对象是一个.exe文件,所以我们需要利 ...
- Access restriction: The type Resource is not accessible due to restriction on required library
方法一: 全局属性Project>preferences>java>Compiler>Errors/Warnings>把右侧的[Deprecated and restri ...
- python selenium-8 Page Object模式
封装空间操作为一个接口使用,而不是直接在页面中查找 from selenium import webdriver from selenium.webdriver.common.by import By ...