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

前言部分
大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。
正文部分
上一篇我们讲了SAP HANA XS JavaScript的安全事项,这一篇讲一下JavaScript的资源库使用。
常规服务器端JavaScript程序中定义的元素无法从其他JavaScript程序访问。为了实现程序元素的重用,SAP HANA扩展应用程序服务支持服务器端JavaScript库。
服务器端JavaScript库是一种特殊类型的JavaScript程序,可以在其他JavaScript程序中导入和调用。 可以使用JavaScript库执行简单,重复的任务,例如,处理表单和表单日期,操纵日期和时间字符串,解析URL等等。
举个简单的例子来说明如何使用导入功能导入JavaScript资源库:
// import math lib
$.import("sap.myapp.lib","math");
// use math lib
var max_res = $.sap.myapp.lib.math.max(, );
这里的sap.myapp.lib是要导入的库对象的包的全名,math是要导入的库对象的名称,这些名称有哪些限制和使用规则呢,一般情况下:允许的字符是:大小写字母(Aa-Zz),数字0-9还有就是$符号。
标准的JavaScript限制适用于在创建的XSJS库的名称或库部署的包的名称中使用的字符。比如:不能在XSJS库的名称中使用连字符( - ),或者引用库,则应用程序包路径中的包名称。为了防止在SAP HANA存储库中激活对象的问题,必须按照名称访问JavaScript属性对象的标准规则。 以下示例显示了如何使用方括号和引号([“<STRING>”])访问名称使用不允许的字符(例如连字符( - ))的对象:
// 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”以及名称和感叹号作为后缀。
var greetingPrefix = "Hello, ";
var greetingSuffix = "!";
function greet (name) {
return greetingPrefix + name + greetingSuffix;
}
将JavaScript库导入JavaScript应用程序的步骤如下。
第一步、打开要导入JavaScript库的服务器端JavaScript文件。使用$ .import函数,如下所示:
$.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
$.path.to.your.library.greetLib
2、新生成的库对象的附加属性
$.path.to.your.library.greetLib.greet()
$.path.to.your.library.greetLib.greetingSuffix
$.path.to.your.library.greetLib.greetingPrefix
3、如果导入操作将覆盖任何预定义的运行时对象,则无法导入引用的库。如果引用库已经存在于包中,则不导入。
4、导入的库存在于其存储库位置定义的上下文中。
在存储库中激活已经创建的新库,以便其可供其他JavaScript应用程序导入。
就是这是一个类库,一个知识库,一个随时可以被人调用的资源库,很方便,也很便于查找。
【HANA系列】【第四篇】SAP HANA XS使用服务器JavaScript Libraries详解的更多相关文章
- 【HANA系列】SAP HANA XS使用服务器JavaScript Libraries详解
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用服务器 ...
- 【扯皮系列】一篇与众不同的 String、StringBuilder 和 StringBuffer 详解
碎碎念 这是一道老生常谈的问题了,字符串是不仅是 Java 中非常重要的一个对象,它在其他语言中也存在.比如 C++.Visual Basic.C# 等.字符串使用 String 来表示,字符串一旦被 ...
- 【HANA系列】【第二篇】SAP HANA XS使用JavaScript编程详解
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列][第二篇]SAP HANA XS ...
- 【HANA系列】【第五篇】SAP HANA XS的JavaScript API详解
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列][第五篇]SAP HANA XS ...
- 【HANA系列】SAP HANA XS的JavaScript API详解
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS的Java ...
- 【公众号系列】超详细SAP HANA JOB全解析
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[公众号系列]超详细SAP HANA JOB全解 ...
- 如何在云端部署SAP HANA实战, Azure 上的 SAP HANA(大型实例)概述和体系结构
什么是 Azure 上的 SAP HANA(大型实例)? Azure 上的 SAP HANA(大型实例)是一种针对 Azure 的独特解决方案. 除了提供 Azure 虚拟机以用于部署和运行 SAP ...
- 深入理解javascript作用域系列第四篇——块作用域
× 目录 [1]let [2]const [3]try 前面的话 尽管函数作用域是最常见的作用域单元,也是现行大多数javascript最普遍的设计方法,但其他类型的作用域单元也是存在的,并且通过使用 ...
- 前端工程师技能之photoshop巧用系列第四篇——图片格式
× 目录 [1]图片格式 [2]保存设置 前面的话 对于前端来说,图片格式是需要重要掌握的知识.本文是photoshop巧用系列第四篇——图片格式 图片格式 目前在前端的开发中常用的图片格式有jpg. ...
随机推荐
- Date 对象
JavaScript Date 对象 Date 对象 Date 对象用于处理日期与时间. 创建 Date 对象: new Date() 以下四种方法同样可以创建 Date 对象: var d = ne ...
- HTML实现背景颜色的渐变
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- spring-cloud /pause 平滑升级 踩坑记录
0.客户端添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...
- 洛谷-P2292-L语言(字典树)
链接: https://www.luogu.org/problem/P2292 题意: 标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的.现在你要处理的就是一段没有标点的文章. 一段文章T是 ...
- Servlet中关于路径的小结
URL(统一 资源定位符).URI(统一资源标识符)都是由资源路径和资源名称组成. 访问路径按照路径是否可以独立完成资源准确定位的判别标准,可以将访问路径分为绝对路径与相对路径. 关系:绝对路径 ...
- Linux常用文本处理命令
1.grep命令 echo 'zero\nzo\nzoo' | grep 'z.*o':将匹配以'z'开头以'o'结尾的所有字符串 echo 'zero\nzo\nzoo' | grep 'z.o': ...
- 一、Git的一些命令操作----创建版本库、增加文件到Git库、时光机穿梭、远程仓库
具体详细教程请链接:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 我这里只是记录 ...
- Appium+Robotframework实现iOS应用的自动化测试
Appium+Robotframework实现iOS应用的自动化测试 连接地址: 地址:https://blog.csdn.net/wd168/article/month/2016/06 1.http ...
- [学习笔记] MRF 入门
MRF马尔科夫随机场入门 Intro MRF是一种广泛应用于图像分割的模型,当然我看到MRF的时候并不是因为分割,而是在图像生成领域,有的paper利用MRF模型来生成图像,因此入门一下MRF,并以分 ...
- Python关于%matplotlib inline
Python关于%matplotlib inline %matplotlib inline 是一个魔法函数(Magic Functions).官方给出的定义是:IPython有一组预先定义好的所谓的魔 ...