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 ...
- 创意:Soap一款新型的触摸式家用智能路由器
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/iefreer/article/details/34808749 Soap简单介绍 这里的Soap不是 ...
- 在服务端处理同步发送小消息的性能上Kafka>RocketMQ>RabbitMQ
在发送小消息的场景中,三个消息中间件的表现区分明显: Kafka的吞吐量高达17.3w/s,远超其他两个产品.这主要取决于它的队列模式保证了写磁盘的过程是线性IO.此时broker磁盘IO已达瓶颈. ...
- 实现JMS规范的ActiveMQ
ActiveMQ是Apache软件基金会的开源产品,支持AMQP协议.MQTT协议(和XMPP协议作用类似).Openwire协议和Stomp协议等多种消息协议.并且ActiveMQ完整支持JMS A ...
- es6知识点
扩展运算符(三个点): 将值转换为参数序列. 解构赋值:比如:var [a,b,c]=[1,2,3];
- centos 修改时区及NTP时间同步
在我们使用CentOS系统的时候,也许时区经常会出现问题,有时候改完之后还是会出错,下面我们就来学习一种方法来改变这个状况.如果没有安装,而你使用的是 CentOS系统 那使用命令 yum insta ...
- QString和char字符串数组之间的转换 (转)
做串口通信时,碰到这样的问题,在Qt的界面中,我用QLineEdit对象负责显示发送和接收的文本,对其中的数据进行读取和显示使用的数据类型都是QString:但是,在对串口设备进行读写时,数据使用的形 ...
- 洛谷 4389 付公主的背包——多项式求ln、exp
题目:https://www.luogu.org/problemnew/show/P4389 关于泰勒展开: https://blog.csdn.net/SoHardToNamed/article/d ...
- linux 线程的同步 一 (互斥量和信号量)
互斥量(Mutex) 互斥量表现互斥现象的数据结构,也被当作二元信号灯.一个互斥基本上是一个多任务敏感的二元信号,它能用作同步多任务的行为,它常用作保护从中断来的临界段代码并且在共享同步使用的资源. ...
- HttpUrlConnection使用详解--转
http://blog.csdn.net/fightingXia/article/details/71775516 一,HttpURLconnection的介绍 在Android开发中网络请求是最常用 ...