tags:

views:

272

answers:

5

How could I write Java code that is executed like javascript code used together with the eval function?

What I would like to achieve would be something like this:

System.execute ("String str = \"test\"; System.out.println(str);");

which would print the word 'test'. (10x dehmann )

A code sample would help a lot.

+5  A: 

Try this 6 different ways to simulate EVAL in Java

+3  A: 

Look into BeanShell or Groovy. Both will give you reasonable solutions--but those solutions rely on my interpretation of your problem, which may be flawed.

Bill K
+1. For me, this is the best approach.
Camilo Díaz
+1  A: 

I've used the JavaScript engine shipped with Java 6 and it works quite well. The performance of the engine is very very decent.

Check the page http://java.sun.com/javase/6/docs/technotes/guides/scripting/programmer_guide/index.html

Ravi Wallau
A: 

For completeness sake, the Compiler API is coming in the next version of Java..

Tim Williscroft
The Compiler API is in Java 6. It works but its ugly to use. However you can use BeanShell and JCI if you don't have Java 6.
Peter Lawrey
+1  A: 

I believe the compiler API is present in the current Java SE 6. See the javadoc.

See this blog post for details and an example.

Brian Agnew