Java.Scripting Local API

Материал из Hivext Wiki

Перейти к: навигация, поиск

Java - Основы серверной разработки

Примеры разработки на Java - от простого к сложному.

Посмотреть результаты нижеприведенных примеров с возможностью установки под своим аккаунтом.

Стандартный вывод данных

//
// Название: Hello world
// Описание: Стандартный вывод результата скрипта.
//

String sOut = "Hello world";

// Выход из скрипта с результатом.
return sOut;​

Пользовательский вывод данных

/*
    Название: Hello world 2
    Описание: Пользовательский вывод результата скрипта.
*/

// Укажем веб серверу и клиенту что данные в html формате.
hivext.local.SetHeader("Content-Type", "text/html");

String sHtml = "";

sHtml += "<html><body>";
sHtml += "<h1>Hello world</h1>";
sHtml += "</body><html>";

// Выход из скрипта с результатом.
return sHtml;​

Пользовательский вывод данных через буфер

/*
    Название: Output Buffer
    Описание: Вывод данных через буфер.
*/

// Укажем веб серверу и клиенту что данные в html формате.
hivext.local.SetHeader("Content-Type", "text/html");

// Запишем данные в буфер вывода.
// Данные отправляются частями, автоматически по мере заполнения буфера.
hivext.local.out.Write("<html><body>");
hivext.local.out.Write("<h1>Hello world</h1>");
hivext.local.out.Write("</body><html>");

// Принудительная отправка данных из буфера вывода.
hivext.local.out.Flush();

return "";​

Передаваемые параметры

/*
    Название: GetParam
    Описание: Получение параметров передаваемых в скрипт.
    Данный скрипт может принимать необязательные параметры
    param1=значение1&param2=значение2
*/

String sHtml;

String sParam1 = (String)hivext.local.GetParam("param1");
String sParam2 = (String)hivext.local.GetParam("param2");

// Если param1 не указан значение по умолчанию "Hello world".
sParam1 = (sParam1 != "" ) ? sParam1 : "Hello world";

sHtml = "<html><body>";

if(sParam2 != "") {
    sHtml += "<h1>" + sParam1 + "</h1>";
} else {
    sHtml += "<h3><u>" + sParam1 + "</u></h3>";
}

sHtml += "</body><html>";

// Выход из скрипта с результатом.
return sHtml;​

HTTP Headers

/*
    Название: Http Header
    Описание: Чтение/запись HTTP заголовков.
    http://en.wikipedia.org/wiki/List_of_HTTP_headers
*/

String sRequestInfo = "\n-------------- HTTP Headers Request --------------\n";

sRequestInfo += "User-Agent = " + hivext.local.GetHeader("User-Agent") + "\n";
sRequestInfo += "Accept-Encoding = " + hivext.local.GetHeader("Accept-Encoding") + "\n";
sRequestInfo += "Accept-Language = " + hivext.local.GetHeader("Accept-Language") + "\n";
sRequestInfo += "Accept-Charset = " + hivext.local.GetHeader("Accept-Charset") + "\n";
sRequestInfo += "Host = " + hivext.local.GetHeader("Host") + "\n";

sRequestInfo += "--------------------------------------------------------------\n";

return sRequestInfo;​

Сессионные переменные

/*
    Название: Session Variables
    Описание: Чтение/запись сессионных переменных.
    Сессионные переменные - это переменные сохраняющие свои значения
    в течении времени жизни пользовательской сессии.
*/

String sSessionVar = (String)hivext.local.GetSessionVar("Hivext");
if(sSessionVar == null) hivext.local.SetSessionVar("Hivext", "Technologies");

return "Hivext = " + sSessionVar;​

JSON кодирование

/*
    Название: JSON Encoding
    Описание: Кодирование объектов c помощью метода toJSON в JSON формат.
*/

import java.util.Map;
import java.util.HashMap;

Map oMap = new HashMap();
oMap.put("sText", "This is my message to the world!");
oMap.put("nDate", System.currentTimeMillis());

// Преобразовываем объект в JSON формат.
String jsonMyObject = (String)hivext.local.utils.toJSON(oMap);

// Покажем JSON строку.
return jsonMyObject;​

Локальная подпись

/*
    Название: Local Signature
    Описание: Локальная подпись позволяет вызывать сессионные методы сервисов из скриптов
    размещенных в сервисе Скриптинга.
*/

String sLocalSignature = hivext.local.GetDeviceSignature(); // Получаем подпись локального устройства.

/*
    В скриптах, используя локальную подпись можно вызывать любые сессионные методы
    и получать доступ к любым данным вашего приложения, например:

    Response oResponse = hivext.data.base.DefineType(appid, sLocalSignature, "MyType");
    if(oResponse.result == 0) {
     hivext.data.base.CreateObject(appid, sLocalSignature, "MyType");
    }
*/

return sLocalSignature;​

Следующие примеры

Личные инструменты