j2js - Global
A inclusão de script j2js permite converter objetos Java em objetos JavaScript.
Se o valor fornecido for um objeto Java que pode ser convertido em um objeto JavaScript equivalente, essa conversão será realizada e o resultado será retornado. Caso contrário, o objeto Java original será retornado.
A classe j2js está disponível para scripts do lado do servidor.
A conversão específica realizada na ordem em que são verificadas.
- Cadeia de caracteres Java -> Cadeia de caracteres JavaScript
- Booliano Java -> Booliano JavaScript
- Inteiro Java -> Número JavaScript
- Java Longo -> Número de JavaScript
- Número de Java duplo -> JavaScript
- Byte Java -> Número de JavaScript
- Java Flutuante -> Número de JavaScript
- Java Short -> Número de JavaScript
- Caractere Java -> Número de JavaScript
- Matriz Java -> Matriz JavaScript com ordem preservada
- Lista Java -> Matriz JavaScript com ordem preservada
- Mapa Java -> Objeto JavaScript com os pares de chave/valor convertidos em pares de propriedade/valor
- Conjunto Java -> Matriz JavaScript em ordem arbitrária
As conversões são realizadas recursivamente nos elementos de matrizes, listas ou coleções. Por exemplo, dado um Java ArrayList de ArrayLists de cadeias de caracteres, isso retornará uma matriz JavaScript de matrizes de cadeias de caracteres.
j2js - j2js (objeto javaObject)
Converte um objeto Java do código do sistema em um objeto JavaScript.
| Nome | Tipo | Descrição |
|---|---|---|
| javaObject | Objeto | Um objeto Java do código do sistema, como uma chamada de Pacotes. |
| Tipo | Descrição |
|---|---|
| Objeto | Um objeto JavaScript se o parâmetro puder ser convertido, caso contrário, ele retornará o objeto 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);
Saída:
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