前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【SAP HANA系列】SAP HANA XS使用服务器JavaScript Libraries详解

【SAP HANA系列】SAP HANA XS使用服务器JavaScript Libraries详解

原创
作者头像
matinal
修改2020-11-11 18:17:24
6650
修改2020-11-11 18:17:24
举报
文章被收录于专栏:SAP TechnicalSAP Technical

正文部分

上一篇我们讲了SAP HANA XS JavaScript的安全事项,这一篇讲一下JavaScript的资源库使用。

常规服务器端JavaScript程序中定义的元素无法从其他JavaScript程序访问。为了实现程序元素的重用,SAP HANA扩展应用程序服务支持服务器端JavaScript库。

服务器端JavaScript库是一种特殊类型的JavaScript程序,可以在其他JavaScript程序中导入和调用。?可以使用JavaScript库执行简单,重复的任务,例如,处理表单和表单日期,操纵日期和时间字符串,解析URL等等。

举个简单的例子来说明如何使用导入功能导入JavaScript资源库:

代码语言:javascript
复制
?
// import math lib
$.import("sap.myapp.lib","math");
// use math lib
var max_res = $.sap.myapp.lib.math.max(3, 7);

?

这里的sap.myapp.lib是要导入的库对象的包的全名,math是要导入的库对象的名称,这些名称有哪些限制和使用规则呢,一般情况下:允许的字符是:大小写字母(Aa-Zz),数字0-9还有就是$符号。

标准的JavaScript限制适用于在创建的XSJS库的名称或库部署的包的名称中使用的字符。比如:不能在XSJS库的名称中使用连字符( - ),或者引用库,则应用程序包路径中的包名称。为了防止在SAP HANA存储库中激活对象的问题,必须按照名称访问JavaScript属性对象的标准规则。?以下示例显示了如何使用方括号和引号([“<STRING>”])访问名称使用不允许的字符(例如连字符( - ))的对象:

代码语言:javascript
复制
?
// import math lib
$.import("sap.myapp.lib.XS-QGP-SPS7","math");
// use math lib
var max_res = $.sap.myapp.lib["XS-QGP-SPS7"].math.max(3, 7);

?

下面讲一下如何导入JavaScript资源库

服务器端JavaScript库是一种特殊类型的JavaScript程序,可以在其他JavaScript程序中导入和调用。

JavaScript库是内部开发的SAP HANA扩展。 这些库存在于包的上下文中,在导入库时引用它。 JavaScript库的以下示例显示单词“Hello”以及名称和感叹号作为后缀。

代码语言:javascript
复制
?
var greetingPrefix = "Hello, ";
var greetingSuffix = "!";
function greet (name) {
 return greetingPrefix + name + greetingSuffix;
}

?

将JavaScript库导入JavaScript应用程序的步骤如下。

第一步、打开要导入JavaScript库的服务器端JavaScript文件。使用$ .import函数,如下所示:

代码语言:javascript
复制
?
$.import("<path.to.your.library.filename>","greetLib");
var greeting = $.<path.to.your.library.filename>.greet("World");
$.response.setBody(greeting);

?

第二步、保存并激活对JavaScript文件的更改。

虽然操作简单,但请记住以下几点:

1、导入操作会生成类似于库中位置的$以下的对象的层次结构,比如资源库的路径:path/to/your/library/greetLib.xsjslib

代码语言:javascript
复制
?
$.path.to.your.library.greetLib

?

  2、新生成的库对象的附加属性

代码语言:javascript
复制
?
$.path.to.your.library.greetLib.greet()
$.path.to.your.library.greetLib.greetingSuffix
$.path.to.your.library.greetLib.greetingPrefix

?

3、如果导入操作将覆盖任何预定义的运行时对象,则无法导入引用的库。如果引用库已经存在于包中,则不导入。

4、导入的库存在于其存储库位置定义的上下文中。

在存储库中激活已经创建的新库,以便其可供其他JavaScript应用程序导入。

就是这是一个类库,一个知识库,一个随时可以被人调用的资源库,很方便,也很便于查找。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正文部分
相关产品与服务
文档服务
文档服务(Document Service,DS)是腾讯云数据万象提供云上文档处理服务,支持多种类型的文件生成图片或 html 格式的预览,可以解决文档内容的页面展示问题,满足 PC、App 等多端的文档在线浏览需求。同时,本产品还提供文本隐私筛查能力,可以有效识别文本中的身份证号、银行卡号、手机号等敏感数据,满足数据可用性和隐私保护的各种要求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com