Серверный JavaScript 1.4. Руководство по использованию
9123a142

Пример Вызывающего Серверного JavaScript


В директории $NSHOME\js\samples\bugbase содержится простое приложение, которое иллюстрирует использование LiveConnect. В это разделе описывается приложение-образец Java-кода. См. в разделе описание основ работы этого приложения и его JavaScript-кода.

// . Импортировать необходимые Java-объекты.
package Bugbase;
import netscape.javascript.*;
import netscape.server.serverenv.*;

// . Создать класс Bug.
public class Bug {

int id;
   String priority;
   String product;

   String description;
   String submitter;

   // . Определить конструктор класса.

   public Bug(int id, String priority, JSObject req)

   throws java.io.IOException
   {

      // Записать часть http-ответа.

      NetscapeServerEnv.writeHttpOutput("Java constructor: Creating

         a new bug.<br>");

      this.id = id;

      this.priority = priority;



      this.product = (String)req.getMember("bugProduct");

      this.description = (String)req.getMember("bugDesc");

   }   // . Возвратить строковое представление объекта.
   public String toString()

   {
      StringBuffer result = new StringBuffer();

      result.append("\r\nId = " + this.id

         + "; \r\nPriority = " + this.priority

         + "; \r\nProduct = " + this.product

         + "; \r\nDescription = " + this.description);

      return result.toString();

   }   }
Многие шаги в этом коде не являются специфичными для взаимодействия с JavaScript. Только шаги 1 и 3 имеют отношение к JavaScript.
  1. Специфицировать пакет, используемый в файле, и импортировать пакеты netscape.javascript и netscape.server.serverenv. Если Вы пропустите этот шаг, Вы не сможете использовать объекты JavaScript.

  2. Создать Java-класс Bug, специфицировать его поля.

  3. Определить конструктор для этого класса. Этот конструктор принимает три параметра: целое число, строку и объект типа JSObject. Этот последний параметр является представлением JavaScript-объекта в Java. Через методы этого объекта конструктор может получить доступ к свойствам и вызвать методы объекта JavaScript. В этом случае он использует метод getMember объекта JSObject для получения значений свойств JavaScript-объекта. Также этот метод использует метод writeHttpOutput предопределённого объекта NetscapeServerEnv (из пакета netscape.server.serverenv) для вывода информации в процессе конструирования объекта. Этот метод записывает массив байтов в тот же поток вывода, который используется JavaScript-функцией write.

  4. Определить метод toString. Это стандартный метод для Java-объекта, возвращающий строковое представление полей объекта.


Содержание раздела