Конвертация из Java а JavaScript
Передаваемые из Java в JavaScript значения конвертируются так:
-
Java byte, char, short, int, long, float и double конвертируются в числа JavaScript.
-
Java boolean конвертируется в JavaScript boolean.
-
Объект класса netscape.javascript.JSObject конвертируется в оригинальный JavaScript-объект.
-
Массивы Java конвертируются в JavaScript псевдо-Array-объект; этот объект ведёт себя так же, как и JavaScript-объект Array: Вы может получить доступ к нему с синтаксисом arrayName[index] (где index это целое число) и определить его размер с помощью arrayName.length.
-
Java-объект любого другого класса конвертируется в JavaScript-объект-оболочку, который может использоваться для доступа к методам и полям Java-объекта:
- Конвертация этой оболочки в строку вызывает метод toString объекта-оригинала.
-
Конвертация в число вызывает метод doubleValue, если возможно, иначе терпит неудачу.
-
Конвертация в boolean в JavaScript 1.3 возвращает false, если объект null, иначе - true.
-
Конвертация в boolean в JavaScript 1.2 и в более ранних версиях вызывает метод 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 + "";
Содержание раздела