2010-04-24 13 views
8

Ho una funzione javascript (molto grande!) Che ho bisogno la sua funzionalità in un (Groovy) classe Java. È un semplice convertitore di calendari. Posso riscriverlo in groovy ma voglio solo sapere se è possibile chiamare la funzione javascript da un metodo java (groovy)? Immagino che le librerie di test funzionali come il selenio e il Canoo debbano avere qualcosa del genere, giusto? PS: Non voglio risvegliare un browser reale per utilizzare il suo ambiente di runtime JS.chiamata JavaScript funzione da Java (Groovy) Classe

Grazie,

risposta

8

Come menzionato in altre risposte, è possibile utilizzare la Scripting API fornito come parte del pacchetto javax.script, disponibile da Java 6.

Il seguente è un esempio Groovy che esegue un po 'di JavaScript:

import javax.script.* 

manager = new ScriptEngineManager() 
engine = manager.getEngineByName("JavaScript") 

javascriptString = """ 
obj = {"value" : 42} 
print(obj["value"]) 
""" 

engine.eval(javascriptString) // prints 42 

non è necessario chiamare un browser per eseguire JavaScript quando si utilizza l'API di scripting, ma si dovrebbe tenere a mente che le caratteristiche specifiche del browser (probabilmente i DOM-correlati funzionalità) non saranno disponibili.

Problemi correlati