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 elles sont vérifiées.
- Chaîne Java > chaîne JavaScript
- Booléen Java > booléen JavaScript
- Entier Java : nombre > JavaScript
- Java long -> numéro JavaScript
- Numéro JavaScript à double > Java
- Octet Java : > numéro JavaScript
- Flottant Java -> numéro JavaScript
- Abrégé Java -> numéro JavaScript
- Caractère Java > numéro JavaScript
- Tableau Java : tableau JavaScript > avec l’ordre conservé
- Liste Java -> Tableau JavaScript avec ordre conservé
- Carte Java > objet JavaScript avec les paires clé/valeur traduites en paires propriété/valeur
- Ensemble Java > 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, étant donné un tableau 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 | Un objet Java du code système tel qu’un appel 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