返回
= "SAP UI5 Library Resource Bundle 的设计原理
前端
2024-02-23 12:25:39
SAP UI5 Library Resource Bundle 的设计原理
Offer 驾到,掘友接招! 我正在参与2022春招打卡活动,点击查看活动详情。
按照 Jerry 这篇文章介绍的代码,运行之后,给类型为 sap.ui.model.type.Currency
的字段设置值时,会报如下错误:
Failed to parse the requested currency code (USD) in value
原因是 sap.ui.model.type.Currency
是一个抽象类,不能直接使用,需要使用其子类来实例化对象。在 SAP UI5 库中,提供了两种子类:
sap.ui.model.type.CurrencyFormat
:用于格式化货币值。sap.ui.model.type.CurrencyParse
:用于解析货币值。
根据 Jerry 的要求,我们需要使用 sap.ui.model.type.CurrencyParse
来解析货币值。因此,代码应该改为:
var oType = new sap.ui.model.type.CurrencyParse();
var oValue = oType.parseValue("100 USD", "string");
这样就可以正确地解析货币值了。
资源束的设计原理
在 SAP UI5 库中,资源束是一种用于存储文本和翻译的机制。资源束可以分为两种类型:
- 捆绑的资源束:捆绑的资源束是与 UI 库一起发布的资源束。它们通常包含一些基本文本,如“确定”、“取消”等。
- 自定义资源束:自定义资源束是应用程序开发人员创建的资源束。它们通常包含一些特定于应用程序的文本,如应用程序名称、菜单项等。
资源束通常使用 JSON 格式存储文本和翻译。JSON 格式是一种轻量级的、基于文本的数据交换格式。它易于解析和生成,并且可以存储各种数据类型。
要使用资源束,应用程序开发人员需要首先加载资源束。加载资源束的代码如下:
var oBundle = new sap.ui.core.resource.ResourceModel({
bundleName: "my.app.bundle"
});
加载资源束后,应用程序开发人员就可以通过资源束的 getText
方法来获取文本。获取文本的代码如下:
var sText = oBundle.getText("my.text.key");
资源束可以帮助应用程序开发人员将文本与应用程序代码分离。这使得应用程序更容易本地化,因为应用程序开发人员只需要更新资源束中的文本,而不需要修改应用程序代码。
设计原理
资源束的设计原理如下:
- 资源束是独立于应用程序代码的:资源束与应用程序代码分离,这使得应用程序更容易本地化。
- 资源束可以是捆绑的或自定义的:捆绑的资源束是与 UI 库一起发布的资源束,自定义资源束是应用程序开发人员创建的资源束。
- 资源束通常使用 JSON 格式存储文本和翻译:JSON 格式是一种轻量级的、基于文本的数据交换格式,易于解析和生成,并且可以存储各种数据类型。
- 应用程序开发人员可以通过资源束的
getText
方法来获取文本:应用程序开发人员可以通过资源束的getText
方法来获取文本,这使得应用程序更容易本地化。
资源束是一种强大的机制,可以帮助应用程序开发人员将文本与应用程序代码分离,从而使应用程序更容易本地化。