j2js : global
L’include de script j2js vous permet de convertir des objets Java en objets JavaScript.
Si la valeur donnée est un objet Java qui peut être converti en objet JavaScript équivalent, cette conversion est effectuée et le résultat est renvoyé. Sinon, l’objet Java d’origine est renvoyé.
La classe j2js est disponible pour les scripts côté serveur.
Conversion spécifique effectuée dans l’ordre dans lequel ils sont vérifiés.
- Chaîne Java > chaîne JavaScript
- Booléen Java > booléen JavaScript
- Nombre entier Java > nombre JavaScript
- Java long -> numéro JavaScript
- Java Double -> numéro JavaScript
- Octet Java > numéro JavaScript
- Java Float > numéro JavaScript
- Abrégé Java -> numéro JavaScript
- Caractère Java > numéro JavaScript
- Tableau Java > tableau JavaScript avec ordre conservé
- Liste Java > tableau JavaScript avec ordre préservé
- Carte Java > objet JavaScript avec les paires clé/valeur traduites en paires propriété/valeur
- Java Set -> tableau JavaScript dans un ordre arbitraire
Les conversions sont effectuées de manière récursive sur les éléments des tableaux, des listes ou des collections. Par exemple, pour une ArrayList Java de ArrayLists de chaînes, cela renvoie un tableau JavaScript de tableaux de chaînes.
j2js : j2js (objet javaObject)
Convertit un objet Java du code système en objet JavaScript.
| Nom | Type | Description |
|---|---|---|
| objet java | Objet | Objet Java du code système, tel qu’un appel de packages. |
| Type | Description |
|---|---|
| Objet | Un objet JavaScript si le paramètre peut être converti, sinon il renvoie l’objet Java. |
var tu = new TableUtils("cmdb_ci_win_server");
var classes = tu.getHierarchy();
//getHierarchy returns a Java ArrayList, which is not exactly like a JavaScript Array
//for example you cannot get length
gs.print("classes = " + classes);
gs.print("classes.length = " + classes.length);
//convert to a JavaScript Array
gs.include("j2js");
var jsClasses = j2js(classes);
gs.print("jsClasses = " + jsClasses);
gs.print("jsClasses.length = " + jsClasses.length);
Sortie :
classes = [cmdb_ci_win_server, cmdb_ci_server, cmdb_ci_computer, cmdb_ci_hardware, cmdb_ci]
classes.length = undefined
jsClasses = cmdb_ci_win_server,cmdb_ci_server,cmdb_ci_computer,cmdb_ci_hardware,cmdb_ci
jsClasses.length = 5