Конвертация из Java в JavaScript
Значения, переданные из Java в JavaScript конвертируются так:
-
Java byte, char, short, int, long, float и double конвертируются в числа JavaScript.
- Java boolean конвертируется в JavaScript boolean.
- Объект класса netscape.javascript.JSObject конвертируется в оригинальный JavaScript-объект.
-
Java-массивы конвертируются в объект JavaScript pseudo-Array; этот объект ведёт себя так же, как объект JavaScript Array: Вы можете иметь к нему доступ с синтаксисом arrayName[index] (где index это целое число) и определять его размер с помощью arrayName.length.
-
Java-объект любого иного класса конвертируется в JavaScript-оболочку, которая может использоваться для доступа к методам и полям Java-объекта:
-
Конвертация оболочки в строку вызывает метод toString объекта-оригинала.
- Конвертация в число вызывает метод doubleValue, если возможно, иначе - терпит неудачу.
-
Конвертация в boolean вызывает метод booleanValue, если возможно, иначе - терпит неудачу.
Обратите внимание, что экземпляры java.lang.Double и java.lang.Integer конвертируются в объекты JavaScript, а не в числа JavaScript. Аналогично, экземпляры java.lang.String также конвертируются в JavaScript-объекты, а не в строки JavaScript.
Java String -объекты также соответствуют оболочкам JavaScript. Если Вы вызываете JavaScript-метод, который требует строки JavaScript, и передаёте его данной оболочке, Вы получите ошибку. Вместо этого конвертируйте оболочку в строку JavaScript, присоединяя к ней пустую строку, как показано здесь:
var JavaString = JavaObj.methodThatReturnsAString(); var JavaScriptString = JavaString + "";
1
2