Scripturi widget

Scripturile widget vă permit să efectuați operații de utilizator cu componente widget și date server. Scripturile sunt scrise în Java. Fiecare script rulează în Java Virtual Machine (JVM), care rulează widget-ul (acest lucru poate fi JVM, lansează Client sau agrega Server Agregate JVM, în cazul în care widget-ul rulează în interfața web). Astfel, scriptul are acces la toate obiectele din memoria internă și widget-urile widget-ului. Scripturile vă permit să controlați complet widgetul.

Drepturile de acces ale scenariului nu sunt limitate în nici un fel. O eroare aleatoare într-un cod de script sau rău intenționat poate duce la defecțiuni% ag%> server sau client pentru a le închide, 100% utilizarea procesorului, coruperea datelor sau deteriorarea unității de date, care este de a rula script-ul!

Rularea executării scriptului

Scriptul widget este executat în două cazuri:

Scripturile sunt create în thread-ul de prelucrare a legăturii, astfel încât executarea acestora poate dura mult timp, luând în considerare procesarea altor legături widget. Se recomandă crearea de fire noi pentru a efectua sarcini de script widget care necesită mult timp.

Scripturile sunt create și gestionate prin editarea proprietăților Scripturilor din panoul rădăcină al widget-ului.

Fiecare script este o clasă Java care trebuie să ruleze interfața WidgetScript:

interfață publică WidgetScript

public void execute (mediul WidgetScriptExecutionEnvironment, parametrul Object);

Această interfață definește metoda execute (). care se numește atunci când scriptul este executat.

Rezultatul expresiei de legare este transferat scriptului widget ca obiect parametru.

Script de mediu de execuție

Fiecare script are acces la un obiect care execută interfața WidgetScriptExecutionEnvironment. care este trecut ca argument pentru metoda execute (). WidgetScriptExecutionEnvironment arată astfel:

interfață publică WidgetScript

public void execute (mediul WidgetScriptExecutionEnvironment, parametrul Object);

Exemplu WidgetScriptExecutionEnvironment oferă acces la un obiect care execută interfața GUIEngine (puteți obține interfața apelând metoda getEngine ()). GUIEngine oferă acces la obiectele responsabile pentru executarea widget-ului.

Când creați un script nou, textul acestuia nu este gol. Conține o clasă generată automat cu o metodă empty execute (). Următorul text este scriptul implicit:

clasa publica users_admin_widgets_scripts_refresh implementează WidgetScript

public void execute (mediul WidgetScriptExecutionEnvironment, parametrul Object)

Consultați Ghidul general de programare pentru informații despre dezvoltarea scripturilor widget AggreGate.

De fapt, scripturile ar trebui să facă următoarele:

• Generarea evenimentelor componentelor widget

• Apelați operațiile serverului și dispozitivului (funcții)

În majoritatea cazurilor, toate operațiunile trebuie efectuate prin interfața Context.

Pentru a obține contextul. corespunzând oricărui obiect de server, utilizați următorul cod:

WidgetEngine motor = mediu.getEngine ();

ContextManager contextManager = motor.getServerContextManager ();

Context serverContext = contextManager.get ("server.context.path");

Pentru a obține contextul. care corespunde unei anumite componente widget, utilizați următorul cod:

Context componentContext = environment.getComponentContext ("widget_component_name");

Exemplul 1: Prelucrarea proprietății componentelor

Context dataTableEditorContext = environment.getComponentContext ("dataTableEditor1");

DateTable dataTable = dateTableEditorContext.getVariable ("dateTable");

// Procesați datele aici

Exemplul 2: Închiderea unui alt widget

Acest exemplu ilustrează modul în care un widget închide alt widget cu un click de mouse.

Scriptul apelează metoda statică ClientUtils.removeFrame () și transmite acțiunea la tasta pentru cheia cadru. Cheia cadrului widget este creată utilizând metoda ClientUtils.createWidgetFrameKey (). care ia calea contextului widget-ului și calea contextului său implicit (sau calea de context rădăcină, adică șirul gol în cazul unui widget absolut).

clasa publică% ScriptClassNamePattern% implementează WidgetScript

Articole similare