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¶m2=значение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 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 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;
