Here some snippet how to execute Javascript code in Java
final String script = "function test(){ return 'abc' + 'def'; } test();";
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
Object result = engine.eval(script);
Assert.assertEquals("java.lang.String", result.getClass().getName());
Assert.assertEquals("abcdef", result.toString());
And some other code
final String script = "function execute(){ return { 'U.1' : function(){ return { 'u': '2', 'r': '', 'f':'U' }; }, 'R.5': function(){ return 'B' } } } execute();";
ScriptEngine js = new ScriptEngineManager().getEngineByExtension("js");
js.getContext().setAttribute("out", System.out, ScriptContext.ENGINE_SCOPE);
Object jsResult = js.eval(script);
NativeObject obj = (NativeObject) jsResult;
Object objUserRole = NativeObject.getProperty(obj, "U.1");
SimpleBindings bindings = new SimpleBindings();
bindings.put("foomethod", objUserRole);
log.debug("RESULT: " + js.eval("foomethod();", bindings));
log.debug("RESULT: " + js.eval("foomethod().u", bindings));
log.debug("RESULT: " + js.eval("foomethod().r", bindings));
log.debug("RESULT: " + js.eval("foomethod().f", bindings));
Assert.assertEquals("2", js.eval("foomethod().u", bindings).toString());
Assert.assertEquals("", js.eval("foomethod().r", bindings).toString());
Assert.assertEquals("U", js.eval("foomethod().f", bindings).toString());
objUserRole = NativeObject.getProperty(obj, "R.5");
bindings.put("foomethod", objUserRole);
log.debug("RESULT: " + js.eval("foomethod();", bindings));
Assert.assertEquals("B",js.eval("foomethod();", bindings).toString());
Tag Cloud
accordion
(1)
admin
(1)
administration
(1)
android
(2)
angel love
(2)
answer
(1)
app
(1)
archangel
(2)
auto complete
(1)
axis2 json
(1)
backup
(1)
barcode
(3)
bb
(1)
binary decimal convert c
(1)
blackberry
(9)
boylevantz
(1)
browser error
(1)
c
(1)
C#
(1)
career
(1)
certification
(1)
ci
(1)
codeigniter
(1)
color
(1)
connection
(1)
contenga
(1)
create
(1)
csharp
(1)
css
(1)
database
(2)
db
(1)
demo
(1)
dev
(2)
developer
(2)
download
(1)
eclipse
(1)
enterprise deploy
(1)
eval
(1)
evo
(1)
expression
(2)
facelets
(1)
free
(1)
golden ratio
(1)
grant
(1)
hash md5 encrypt encryption
(1)
heap size
(1)
hibernate
(1)
html
(1)
ibm
(3)
index.php
(1)
installation manager
(1)
ios
(1)
java
(14)
javascript
(3)
jawab
(1)
job
(1)
jquery
(1)
jquery mobile
(2)
js
(2)
jsf
(2)
juel
(1)
kerjaan
(1)
kernel
(1)
language
(1)
launchpad
(1)
linux
(1)
list
(1)
listfield
(1)
location
(1)
log
(1)
log4j
(1)
logging
(1)
lowongan
(1)
magang
(1)
maven
(1)
memory
(1)
message
(1)
mobile
(3)
mysql
(3)
native
(1)
opportunity
(1)
orion
(1)
out of memory
(1)
php
(2)
pin
(1)
pom.xml maven pom sort sortpom mvn
(1)
postgre
(1)
program
(1)
programmer
(2)
programming
(1)
psql
(1)
Q&A
(1)
qrcode barcode java
(1)
question
(1)
remote
(1)
remove index.php
(1)
servlet
(1)
simple
(1)
solusi
(1)
spring
(1)
swap
(1)
tab
(1)
tanya
(1)
tcp rinetd linux suse redirection
(1)
tips
(1)
Tomcat
(1)
tooltip
(1)
training
(1)
ui
(1)
url
(1)
user
(1)
user interface
(1)
vacancy
(3)
web
(4)
webworks
(1)
worklight
(3)
zxing
(1)
Monday, August 13, 2012
Executing Javascript code in Java
Labels:
eval,
expression,
java,
javascript,
js
Jakarta, Indonesia
Jakarta Capital Region, Indonesia
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment