公众号:SAP Technical
本文作者:matinal
 

前言部分

大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。

正文部分

上一篇我们讲了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详解的更多相关文章

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

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用服务器 ...

  2. 【扯皮系列】一篇与众不同的 String、StringBuilder 和 StringBuffer 详解

    碎碎念 这是一道老生常谈的问题了,字符串是不仅是 Java 中非常重要的一个对象,它在其他语言中也存在.比如 C++.Visual Basic.C# 等.字符串使用 String 来表示,字符串一旦被 ...

  3. 【HANA系列】【第二篇】SAP HANA XS使用JavaScript编程详解

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列][第二篇]SAP HANA XS ...

  4. 【HANA系列】【第五篇】SAP HANA XS的JavaScript API详解

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列][第五篇]SAP HANA XS ...

  5. 【HANA系列】SAP HANA XS的JavaScript API详解

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS的Java ...

  6. 【公众号系列】超详细SAP HANA JOB全解析

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[公众号系列]超详细SAP HANA JOB全解 ...

  7. 如何在云端部署SAP HANA实战, Azure 上的 SAP HANA(大型实例)概述和体系结构

    什么是 Azure 上的 SAP HANA(大型实例)? Azure 上的 SAP HANA(大型实例)是一种针对 Azure 的独特解决方案. 除了提供 Azure 虚拟机以用于部署和运行 SAP ...

  8. 深入理解javascript作用域系列第四篇——块作用域

    × 目录 [1]let [2]const [3]try 前面的话 尽管函数作用域是最常见的作用域单元,也是现行大多数javascript最普遍的设计方法,但其他类型的作用域单元也是存在的,并且通过使用 ...

  9. 前端工程师技能之photoshop巧用系列第四篇——图片格式

    × 目录 [1]图片格式 [2]保存设置 前面的话 对于前端来说,图片格式是需要重要掌握的知识.本文是photoshop巧用系列第四篇——图片格式 图片格式 目前在前端的开发中常用的图片格式有jpg. ...

随机推荐

  1. 在MariaDB导入sql文件出现乱码解决方案

    第一方式: 命令: mysql -u(用户名) -p --default-character-set=utf8(设置编码) data_name(数据库名)<文件路径 示例: 这时,会有一个假死的 ...

  2. Java-UploadHelper工具类

    /** * 上传文件类 */ import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java. ...

  3. lnmp环境搭建(Ubuntu)

    dpkg   -l | grep  gcc   ubuntu系统查看已安装的包 dpkg  -S  nginx   查看安装的nginx apt-get  update            首先更新 ...

  4. UNIX下socket通信 - UDP通信

    一.UNIX下socket通信: socket套接字是一种可以进行网络通信的内核对象,它是一个唯一的标示符,一般称它为socket描述符. 注意:UDP通信需要客户端先发送消息,服务端先进行等待客户端 ...

  5. MySQL的密码操作命令

    一.请问在win2K命令提示符下怎样更改mysql的root管理员密码? >mysql -u root -p Enter password: ****** mysql> use mysql ...

  6. poj 2718 Smallest Difference(暴力搜索+STL+DFS)

    Smallest Difference Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6493   Accepted: 17 ...

  7. 28.Python list列表详解

    在实际开发中,经常需要将一些(不只一个)数据暂储起来,以便将来使用.说到这里,一些读者可能知道或听说过数组,它就可以把多个数据挨个存储到一起,通过数组下标可以访问数组中的各个元素.但使用数组存储数据有 ...

  8. Python使用otp实现二步验证

    https://www.cnblogs.com/lori/p/11077161.html https://blog.coding.net/blog/two-factor-authentication ...

  9. JavaScript数字计算精度丢失的问题和解决方案

    一.JS数字精度丢失的一些典型问题 1. 两个简单的浮点数相加:0.1 + 0.2 != 0.3 // true,下图是firebug的控制台截图: 看看java的计算结果:是不是让你很不能接受 再来 ...

  10. css垂直居中布局总结

    简介 总结记录一下经常需要用到垂直居中布局,欢迎补充(空手套...O(∩_∩)O) 以下栗子如果未特别标注同一使用这样的html结构 <div class="container&quo ...