Java Scripting API

Z FI WIKI
Přejít na: navigace, hledání

Od JaveSE je k dispozici rozhraní na skriptovací jazyky, a implementace JavaScriptu je přímo přibalena.

Dokumentace je na Java Scripting Programmer's Guide.

Velmi vhodné je to například pro vyhodnocování složitých podmínek zadaných uživatelem:

 
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineFactory;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
 
/**
 * Ukazka Java Scripting API
 *
 * @author Martin Kuba makub@ics.muni.cz
 */
public class Skriptovani {
    public static void main(String[] args) throws ScriptException {
 
        //ziskani implementace JavaScriptu
        ScriptEngine js = new ScriptEngineManager().getEngineByName("javascript");
 
        //nastaveni vstupnich dat do JavaScriptovych promennych
        js.put("a", 2);
        js.put("b", 3.1415926);
 
        //kod v JavaScriptu
        String podminka = " soucet = a+b; soucet > 5 ";
 
        //jedna hodnota se da ziskat jako vysledek
        boolean vysledek = (Boolean) js.eval(podminka);
        System.out.println("vysledek = " + vysledek);
 
        //dalsi hodnoty se daji ziskat z globalnich promennych
        double soucet = (Double) js.getBindings(ScriptContext.ENGINE_SCOPE).get("soucet");
        System.out.println("soucet = " + soucet);
    }
}