<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FDevelopment%2FScript_Engines</id>
		<title>Java Tutorial/Development/Script Engines - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FDevelopment%2FScript_Engines"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Development/Script_Engines&amp;action=history"/>
		<updated>2026-04-21T21:29:30Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Development/Script_Engines&amp;diff=3652&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Development/Script_Engines&amp;diff=3652&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 17:44, 31 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Development/Script_Engines&amp;diff=3653&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Development/Script_Engines&amp;diff=3653&amp;oldid=prev"/>
				<updated>2010-05-31T15:28:28Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Any script have to be compiled into intermediate code. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This compilation takes a relatively large amount of CPU cycles.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;With the Invocable interface you can save time by storing the compiled intermediate code for reuse.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.Invocable;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
public class InvocableDemo {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    ScriptEngine engine = manager.getEngineByName(&amp;quot;js&amp;quot;);&lt;br /&gt;
    engine.eval(&amp;quot;function add (a, b) {c = a + b; return c; }&amp;quot;);&lt;br /&gt;
    Invocable jsInvoke = (Invocable) engine;&lt;br /&gt;
    Object result1 = jsInvoke.invokeFunction(&amp;quot;add&amp;quot;, new Object[] { 10, 5 });&lt;br /&gt;
    System.out.println(result1);&lt;br /&gt;
    Adder adder = jsInvoke.getInterface(Adder.class);&lt;br /&gt;
    int result2 = adder.add(10, 5);&lt;br /&gt;
    System.out.println(result2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
interface Adder {&lt;br /&gt;
  int add(int a, int b);&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Call a JavaScript function three times ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.rupilable;&lt;br /&gt;
import javax.script.rupiledScript;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
import javax.script.ScriptException;&lt;br /&gt;
public class CompileTest {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    ScriptEngine engine = manager.getEngineByName(&amp;quot;javascript&amp;quot;);&lt;br /&gt;
    engine.put(&amp;quot;counter&amp;quot;, 0);&lt;br /&gt;
    if (engine instanceof Compilable) {&lt;br /&gt;
      Compilable compEngine = (Compilable) engine;&lt;br /&gt;
      try {&lt;br /&gt;
        CompiledScript script = compEngine.rupile(&amp;quot;function count(){counter=counter+1;return counter;}; count();&amp;quot;);&lt;br /&gt;
        System.out.println(script.eval());&lt;br /&gt;
        System.out.println(script.eval());&lt;br /&gt;
        System.out.println(script.eval());&lt;br /&gt;
      } catch (ScriptException e) {&lt;br /&gt;
        System.err.println(e);&lt;br /&gt;
      }&lt;br /&gt;
    } else {&lt;br /&gt;
      System.err.println(&amp;quot;Engine can&amp;quot;t compile code&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/**/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;1.0&lt;br /&gt;
2.0&lt;br /&gt;
3.0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Catch ScriptException ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.Bindings;&lt;br /&gt;
import javax.script.ScriptContext;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
import javax.script.ScriptException;&lt;br /&gt;
public class BindingDemo {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    ScriptEngine engine = manager.getEngineByName(&amp;quot;js&amp;quot;);&lt;br /&gt;
    engine.put(&amp;quot;a&amp;quot;, 1);&lt;br /&gt;
    engine.put(&amp;quot;b&amp;quot;, 5);&lt;br /&gt;
    Bindings bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE);&lt;br /&gt;
    Object a = bindings.get(&amp;quot;a&amp;quot;);&lt;br /&gt;
    Object b = bindings.get(&amp;quot;b&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;a = &amp;quot; + a);&lt;br /&gt;
    System.out.println(&amp;quot;b = &amp;quot; + b);&lt;br /&gt;
    Object result;&lt;br /&gt;
    try {&lt;br /&gt;
      result = engine.eval(&amp;quot;c = aaaa + bbbb;&amp;quot;);&lt;br /&gt;
      System.out.println(&amp;quot;a + b = &amp;quot; + result);&lt;br /&gt;
    } catch (ScriptException e) {&lt;br /&gt;
      // TODO Auto-generated catch block&lt;br /&gt;
      e.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;a = 1&lt;br /&gt;
b = 5&lt;br /&gt;
javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: &amp;quot;aaaa&amp;quot; is not defined. (&amp;lt;Unknown source&amp;gt;#1) in &amp;lt;Unknown source&amp;gt; at line number 1&lt;br /&gt;
  at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:110)&lt;br /&gt;
  at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:124)&lt;br /&gt;
  at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:247)&lt;br /&gt;
  at BindingDemo.main(BindingDemo.java:22)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Execute Javascript script in a file ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileReader;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
public class RunScriptFileDemo {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    ScriptEngine engine = manager.getEngineByName(&amp;quot;js&amp;quot;);&lt;br /&gt;
    try {&lt;br /&gt;
      FileReader reader = new FileReader(&amp;quot;yourFile.js&amp;quot;);&lt;br /&gt;
      engine.eval(reader);&lt;br /&gt;
      reader.close();&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      e.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/* File: yourFile.js&lt;br /&gt;
 * &lt;br /&gt;
 function add(a, b) {&lt;br /&gt;
    c = a + b;&lt;br /&gt;
    return c;&lt;br /&gt;
}&lt;br /&gt;
result = add (10, 5);&lt;br /&gt;
print (&amp;quot;Result = &amp;quot; + result);&lt;br /&gt;
*/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Executing Scripts from Java Programs ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptException;&lt;br /&gt;
&lt;br /&gt;
public class ScriptExecutionDemo {&lt;br /&gt;
  public static void main(String[] args) throws ScriptException {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    ScriptEngine jsEngine = manager.getEngineByExtension(&amp;quot;js&amp;quot;);&lt;br /&gt;
    jsEngine.eval(&amp;quot;println (&amp;quot;Hello! JavaScript executed from a Java program.&amp;quot;)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get a ScriptEngine by MIME type ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
public class GetEngineByMimeDemo {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    /* Retrieve a ScriptEngine that supports the text/javascript MIME type */&lt;br /&gt;
    ScriptEngine jsEngine = manager.getEngineByMimeType(&amp;quot;text/javascript&amp;quot;);&lt;br /&gt;
    if (!(jsEngine == null)) {&lt;br /&gt;
      System.out.println(&amp;quot;text/javascript MIME type retrieved:&amp;quot; + jsEngine);&lt;br /&gt;
    }&lt;br /&gt;
    ScriptEngine jsEngine2 = manager.getEngineByMimeType(&amp;quot;text/vbscript&amp;quot;);&lt;br /&gt;
    if (jsEngine2 == null)&lt;br /&gt;
      System.out.println(&amp;quot;\nNo supported script engine found for text/vbscript MIME type.&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get Script engine by extension name ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
public class GetEngineByExtensionDemo {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    /* Retrieve a ScriptEngine that supports scripts with .js extension */&lt;br /&gt;
    ScriptEngine jsEngine = manager.getEngineByExtension(&amp;quot;js&amp;quot;);&lt;br /&gt;
    System.out.println(jsEngine);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get the value in JavaScript from Java Code by reference the variable name ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
import javax.script.ScriptException;&lt;br /&gt;
public class RunJavaScript {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    ScriptEngine engine = manager.getEngineByName(&amp;quot;javascript&amp;quot;);&lt;br /&gt;
    try {&lt;br /&gt;
      engine.put(&amp;quot;name&amp;quot;, &amp;quot;abcde&amp;quot;);&lt;br /&gt;
      engine.eval(&amp;quot;var output = &amp;quot;&amp;quot;;for (i = 0; i &amp;lt;= name.length; i++) {&amp;quot;&lt;br /&gt;
          + &amp;quot;  output = name.charAt(i)+&amp;quot;-&amp;quot; + output&amp;quot; + &amp;quot;}&amp;quot;);&lt;br /&gt;
      String name = (String) engine.get(&amp;quot;output&amp;quot;);&lt;br /&gt;
      System.out.println(name);&lt;br /&gt;
    } catch (ScriptException e) {&lt;br /&gt;
      System.err.println(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;-e-d-c-b-a-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Invoke an function ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.Invocable;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
import javax.script.ScriptException;&lt;br /&gt;
public class InvocableTest {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    ScriptEngine engine = manager.getEngineByName(&amp;quot;javascript&amp;quot;);&lt;br /&gt;
    try {&lt;br /&gt;
      engine.eval(&amp;quot;function myFunction(name){var output = &amp;quot;&amp;quot;;&amp;quot;&lt;br /&gt;
          + &amp;quot;  for (i = 0; i &amp;lt;= name.length; i++) {output = name.charAt(i)+&amp;quot;-&amp;quot;+ output&amp;quot;&lt;br /&gt;
          + &amp;quot;  } return output;}&amp;quot;);&lt;br /&gt;
      Invocable invokeEngine = (Invocable) engine;&lt;br /&gt;
      Object o = invokeEngine.invokeFunction(&amp;quot;myFunction&amp;quot;, &amp;quot;abcde&amp;quot;);&lt;br /&gt;
      System.out.println(o);&lt;br /&gt;
    } catch (NoSuchMethodException e) {&lt;br /&gt;
      System.err.println(e);&lt;br /&gt;
    } catch (ScriptException e) {&lt;br /&gt;
      System.err.println(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Java Language Binding with JavaScript ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The Rhino scripting engine of Java SE 6 allows you to use the Java programming language in scripts.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
importPackage(javax.swing);&lt;br /&gt;
importPackage(java.lang);&lt;br /&gt;
importPackage(java.awt.event);&lt;br /&gt;
jFrame1 = new JFrame(&amp;quot;Greeting&amp;quot;);&lt;br /&gt;
jLabel1 = new JLabel(&amp;quot;Name:&amp;quot;);&lt;br /&gt;
jTextField1 = JTextField();&lt;br /&gt;
jLabel2 = new JLabel();&lt;br /&gt;
jButton1 = new JButton(&amp;quot;Click&amp;quot;);&lt;br /&gt;
jFrame1.setSize(400, 400);&lt;br /&gt;
listener1 = {&lt;br /&gt;
  actionPerformed:function(e)&lt;br /&gt;
  {&lt;br /&gt;
    jLabel2.setText(&amp;quot;Hello &amp;quot;+jTextField1.getText()+ &amp;quot; !&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
alistener = new ActionListener(listener1);&lt;br /&gt;
jButton1.addActionListener(alistener);&lt;br /&gt;
jFrame1.getContentPane().setLayout(null);&lt;br /&gt;
jFrame1.getContentPane().add(jLabel1);&lt;br /&gt;
jFrame1.getContentPane().add(jTextField1);&lt;br /&gt;
jFrame1.getContentPane().add(jLabel2);&lt;br /&gt;
jFrame1.getContentPane().add(jButton1); &lt;br /&gt;
jLabel1.setBounds(10, 50, 40, 20);&lt;br /&gt;
jTextField1.setBounds(50, 50, 220, 20);&lt;br /&gt;
jLabel2.setBounds(10, 100, 220, 20);&lt;br /&gt;
jButton1.setBounds(280, 50, 120, 23);&lt;br /&gt;
jFrame1.setDefaultCloseOperation(jFrame1.EXIT_ON_CLOSE);&lt;br /&gt;
jFrame1.setVisible(true);&lt;br /&gt;
for(;;)&lt;br /&gt;
{&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Listing All Script Engines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import javax.script.ScriptEngineFactory;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
public class ListEngineFactoryDemo {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    // create ScriptEngineManager&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    List&amp;lt;ScriptEngineFactory&amp;gt; factoryList = manager.getEngineFactories();&lt;br /&gt;
    for (ScriptEngineFactory factory : factoryList) {&lt;br /&gt;
      System.out.println(factory.getEngineName());&lt;br /&gt;
      System.out.println(factory.getLanguageName());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Mozilla Rhino&lt;br /&gt;
ECMAScript&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  List the script engines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineFactory;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
public class ListEngines {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    List&amp;lt;ScriptEngineFactory&amp;gt; factories = manager.getEngineFactories();&lt;br /&gt;
    for (ScriptEngineFactory factory : factories) {&lt;br /&gt;
      System.out.println(factory.getEngineName());&lt;br /&gt;
      System.out.println(factory.getEngineVersion());&lt;br /&gt;
      System.out.println(factory.getLanguageName());&lt;br /&gt;
      System.out.println(factory.getLanguageVersion());&lt;br /&gt;
      System.out.println(factory.getExtensions());&lt;br /&gt;
      System.out.println(factory.getMimeTypes());&lt;br /&gt;
      System.out.println(factory.getNames());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/*&lt;br /&gt;
*/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Mozilla Rhino&lt;br /&gt;
1.6 release 2&lt;br /&gt;
ECMAScript&lt;br /&gt;
1.6&lt;br /&gt;
[js]&lt;br /&gt;
[application/javascript, application/ecmascript, text/javascript, text/ecmascript]&lt;br /&gt;
[js, rhino, JavaScript, javascript, ECMAScript, ecmascript]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Pass parameter to JavaScript through Java code ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
import javax.script.ScriptException;&lt;br /&gt;
public class RunJavaScript {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    ScriptEngine engine = manager.getEngineByName(&amp;quot;javascript&amp;quot;);&lt;br /&gt;
    try {&lt;br /&gt;
      engine.put(&amp;quot;name&amp;quot;, &amp;quot;abcde&amp;quot;);&lt;br /&gt;
      engine.eval(&amp;quot;var output = &amp;quot;&amp;quot;;for (i = 0; i &amp;lt;= name.length; i++) {&amp;quot;&lt;br /&gt;
          + &amp;quot;  output = name.charAt(i)+&amp;quot;-&amp;quot; + output&amp;quot; + &amp;quot;}&amp;quot;);&lt;br /&gt;
      String name = (String) engine.get(&amp;quot;output&amp;quot;);&lt;br /&gt;
      System.out.println(name);&lt;br /&gt;
    } catch (ScriptException e) {&lt;br /&gt;
      System.err.println(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;-e-d-c-b-a-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Read and execute a script source file ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.InputStreamReader;&lt;br /&gt;
import java.io.Reader;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
public class ScriptExecutionReaderDemo {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    ScriptEngine jsEengine = manager.getEngineByExtension(&amp;quot;js&amp;quot;);&lt;br /&gt;
    Reader reader = new InputStreamReader(new FileInputStream(&amp;quot;yourJavaScript.js&amp;quot;));&lt;br /&gt;
    jsEengine.eval(reader);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//File yourJavaScript.js&lt;br /&gt;
/*&lt;br /&gt;
importPackage(java.lang);&lt;br /&gt;
function getName(name)&lt;br /&gt;
{&lt;br /&gt;
  if ((name != &amp;quot;&amp;quot;)&amp;amp;&amp;amp;(name !=null))&lt;br /&gt;
  {  &lt;br /&gt;
    System.out.println(&amp;quot;Hello &amp;quot;+name+&amp;quot;!&amp;quot;)&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {   &lt;br /&gt;
    System.out.println(&amp;quot;Hello!&amp;quot;)&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
getName(&amp;quot;TOM&amp;quot;);&lt;br /&gt;
*/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Retrieving Script Engines by Name ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A script engine registers alias names with the scripting framework.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;For example, the built-in Rhino scripting registers the following names with the scripting framework:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;js&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;rhino&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;JavaScript&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;javascript&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;ECMAScript&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;ecmascript&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
public class GetEngineByName {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    /* Retrieve a ScriptEngine registered with the rhino name */&lt;br /&gt;
    ScriptEngine jsEngine = manager.getEngineByName(&amp;quot;rhino&amp;quot;);&lt;br /&gt;
    if (!(jsEngine == null)) {&lt;br /&gt;
      System.out.println(jsEngine);&lt;br /&gt;
    } else {&lt;br /&gt;
      System.out.println(&amp;quot;\nNo supported script engine foundregistered as Rhino.&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Retrieving the Metadata of Script Engines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import javax.script.ScriptEngineFactory;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
public class MetadataDemo {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    List&amp;lt;ScriptEngineFactory&amp;gt; factories = manager.getEngineFactories();&lt;br /&gt;
    for (ScriptEngineFactory factory : factories) {&lt;br /&gt;
      System.out.println(&amp;quot;Full name = &amp;quot; + factory.getEngineName());&lt;br /&gt;
      System.out.println(&amp;quot;\nVersion = &amp;quot; + factory.getEngineVersion());&lt;br /&gt;
      System.out.println(&amp;quot;\nSupported language version = &amp;quot; + factory.getLanguageVersion());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/*&lt;br /&gt;
*/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Full name = Mozilla Rhino&lt;br /&gt;
Version = 1.6 release 2&lt;br /&gt;
Supported language version = 1.6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Retrieving the Registered Name of a Scripting Engine ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import javax.script.ScriptEngineFactory;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
public class RegisteredNameDemo {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    List&amp;lt;ScriptEngineFactory&amp;gt; factories = manager.getEngineFactories();&lt;br /&gt;
    for (ScriptEngineFactory factory : factories) {&lt;br /&gt;
      List&amp;lt;String&amp;gt; regNames = factory.getNames();&lt;br /&gt;
      for (int i = 0; i &amp;lt; regNames.size(); i++) {&lt;br /&gt;
        System.out.printf(&amp;quot;Registered name &amp;quot; + i + &amp;quot; &amp;quot; + (String) regNames.get(i) + &amp;quot;\n&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Retrieving the Supported File Extensions of a Scripting Engine ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import javax.script.ScriptEngineFactory;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
&lt;br /&gt;
public class FileExtensionsDemo {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    List&amp;lt;ScriptEngineFactory&amp;gt; factories = manager.getEngineFactories();&lt;br /&gt;
    for (ScriptEngineFactory factory : factories) {&lt;br /&gt;
      List&amp;lt;String&amp;gt; ext = factory.getExtensions();&lt;br /&gt;
      for (int i = 0; i &amp;lt; ext.size(); i++) {&lt;br /&gt;
        System.out.printf(&amp;quot;Supported file extension: &amp;quot; + (String) ext.get(i) + &amp;quot;\n&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Retrieving the Supported Mime Types of a Scripting Engine ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import javax.script.ScriptEngineFactory;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
public class MimeTypesDemo {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    List&amp;lt;ScriptEngineFactory&amp;gt; factories = manager.getEngineFactories();&lt;br /&gt;
    for (ScriptEngineFactory factory : factories) {&lt;br /&gt;
      List&amp;lt;String&amp;gt; mimeTypes = factory.getMimeTypes();&lt;br /&gt;
      for (int i = 0; i &amp;lt; mimeTypes.size(); i++) {&lt;br /&gt;
        System.out.printf(&amp;quot;Supported MIME type &amp;quot; + i + &amp;quot; &amp;quot; + (String) mimeTypes.get(i) + &amp;quot;\n&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Run JavaScript and get the result by using Java ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
import javax.script.ScriptException;&lt;br /&gt;
public class RunJavaScript {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    ScriptEngine engine = manager.getEngineByName(&amp;quot;javascript&amp;quot;);&lt;br /&gt;
    try {&lt;br /&gt;
      Double hour = (Double) engine.eval(&amp;quot;var date = new Date();&amp;quot; + &amp;quot;date.getHours();&amp;quot;);&lt;br /&gt;
      String msg;&lt;br /&gt;
      if (hour &amp;lt; 10) {&lt;br /&gt;
        msg = &amp;quot;Good morning&amp;quot;;&lt;br /&gt;
      } else if (hour &amp;lt; 16) {&lt;br /&gt;
        msg = &amp;quot;Good afternoon&amp;quot;;&lt;br /&gt;
      } else if (hour &amp;lt; 20) {&lt;br /&gt;
        msg = &amp;quot;Good evening&amp;quot;;&lt;br /&gt;
      } else {&lt;br /&gt;
        msg = &amp;quot;Good night&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      System.out.println(hour);&lt;br /&gt;
      System.out.println(msg);&lt;br /&gt;
    } catch (ScriptException e) {&lt;br /&gt;
      System.err.println(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/*&lt;br /&gt;
*/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;10.0&lt;br /&gt;
Good afternoon&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Running Scripts with Java Script Engine ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
import javax.script.ScriptException;&lt;br /&gt;
public class RunScriptDemo {&lt;br /&gt;
    public static void main (String[] args) {&lt;br /&gt;
        ScriptEngineManager manager = new ScriptEngineManager ();&lt;br /&gt;
        ScriptEngine engine = manager.getEngineByName (&amp;quot;js&amp;quot;);&lt;br /&gt;
        String script = &amp;quot;print (&amp;quot;www.jexp.ru&amp;quot;)&amp;quot;;&lt;br /&gt;
        try {&lt;br /&gt;
            engine.eval (script);&lt;br /&gt;
        } catch (ScriptException e) {&lt;br /&gt;
            e.printStackTrace();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;www.jexp.ru&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Save the compiled JavaScript to CompiledScript object ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.rupilable;&lt;br /&gt;
import javax.script.rupiledScript;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
import javax.script.ScriptException;&lt;br /&gt;
public class CompileTest {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    ScriptEngine engine = manager.getEngineByName(&amp;quot;javascript&amp;quot;);&lt;br /&gt;
    engine.put(&amp;quot;counter&amp;quot;, 0);&lt;br /&gt;
    if (engine instanceof Compilable) {&lt;br /&gt;
      Compilable compEngine = (Compilable) engine;&lt;br /&gt;
      try {&lt;br /&gt;
        CompiledScript script = compEngine.rupile(&amp;quot;function count(){counter=counter+1;return counter;}; count();&amp;quot;);&lt;br /&gt;
        System.out.println(script.eval());&lt;br /&gt;
        System.out.println(script.eval());&lt;br /&gt;
        System.out.println(script.eval());&lt;br /&gt;
      } catch (ScriptException e) {&lt;br /&gt;
        System.err.println(e);&lt;br /&gt;
      }&lt;br /&gt;
    } else {&lt;br /&gt;
      System.err.println(&amp;quot;Engine can&amp;quot;t compile code&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Use jrunscript to execute JavaScript scripts ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;You can use jrunscript in interactive or batch mode to execute scripts.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In interactive mode, you can type and execute scripts from the jrunscript prompt.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In batch mode, you can load and execute script files using jrunscript.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;By default, jrunscript executes scripts developed using the JavaScript scripting language.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;To specify a different language, you can use the �l option while executing jrunscript.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;jrunscript [options]&amp;lt;/p&amp;gt;&lt;br /&gt;
OptionDescription-classpath pathSpecifies the path to the Java class files.-l languageSpecifies the scripting language.-e scriptEvaluates the given script.-encoding encodingSpecifies the character encoding used while reading script files.-f script-fileEvaluates a script file.-fReads and evaluates a script from the console. This is called interactive mode.-qLists all available script engines.&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;jrunscript -e &amp;quot;print(&amp;quot;hello world&amp;quot;)&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Using Java Objects in JavaScript ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptException;&lt;br /&gt;
&lt;br /&gt;
public class JavaObjectDemo&lt;br /&gt;
{  &lt;br /&gt;
  public static void main(String[] args) throws Exception&lt;br /&gt;
  {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    ScriptEngine jsEngine;  &lt;br /&gt;
    jsEngine = manager.getEngineByExtension(&amp;quot;js&amp;quot;);&lt;br /&gt;
    jsEngine.eval(&amp;quot;importPackage(javax.swing);var optionPane =JOptionPane.showMessageDialog(null, &amp;quot;Hello!);&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Using thread to run JavaScript by Java ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.Invocable;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
import javax.script.ScriptException;&lt;br /&gt;
public class InterfaceTest {&lt;br /&gt;
  public static void main(String args[]) throws Exception{&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    ScriptEngine engine = manager.getEngineByName(&amp;quot;javascript&amp;quot;);&lt;br /&gt;
      engine.eval(&amp;quot;function run() {print(&amp;quot;www.jexp.ru&amp;quot;);}&amp;quot;);&lt;br /&gt;
      Invocable invokeEngine = (Invocable) engine;&lt;br /&gt;
      Runnable runner = invokeEngine.getInterface(Runnable.class);&lt;br /&gt;
      Thread t = new Thread(runner);&lt;br /&gt;
      t.start();&lt;br /&gt;
      t.join();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Variables bound through ScriptEngine ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.Bindings;&lt;br /&gt;
import javax.script.ScriptContext;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
public class BindingDemo {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    ScriptEngine engine = manager.getEngineByName(&amp;quot;js&amp;quot;);&lt;br /&gt;
    engine.put(&amp;quot;a&amp;quot;, 1);&lt;br /&gt;
    engine.put(&amp;quot;b&amp;quot;, 5);&lt;br /&gt;
    Bindings bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE);&lt;br /&gt;
    Object a = bindings.get(&amp;quot;a&amp;quot;);&lt;br /&gt;
    Object b = bindings.get(&amp;quot;b&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;a = &amp;quot; + a);&lt;br /&gt;
    System.out.println(&amp;quot;b = &amp;quot; + b);&lt;br /&gt;
    Object result = engine.eval(&amp;quot;c = a + b;&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;a + b = &amp;quot; + result);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  With Compilable interface you store the intermediate code of an entire script ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.rupilable;&lt;br /&gt;
import javax.script.rupiledScript;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
public class CompilableDemo {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    ScriptEngine engine = manager.getEngineByName(&amp;quot;js&amp;quot;);&lt;br /&gt;
    Compilable jsCompile = (Compilable) engine;&lt;br /&gt;
    CompiledScript script = jsCompile.rupile(&amp;quot;function hi () {print (&amp;quot;www.jexp.ru !&amp;quot;); }; hi ();&amp;quot;);&lt;br /&gt;
    for (int i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
      script.eval();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;www.jexp.ru !www.jexp.ru !www.jexp.ru !www.jexp.ru !www.jexp.ru !&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Working with Compilable Scripts ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.script.rupilable;&lt;br /&gt;
import javax.script.rupiledScript;&lt;br /&gt;
import javax.script.ScriptEngine;&lt;br /&gt;
import javax.script.ScriptEngineManager;&lt;br /&gt;
import javax.script.ScriptException;&lt;br /&gt;
public class CompileTest {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    ScriptEngineManager manager = new ScriptEngineManager();&lt;br /&gt;
    ScriptEngine engine = manager.getEngineByName(&amp;quot;javascript&amp;quot;);&lt;br /&gt;
    engine.put(&amp;quot;counter&amp;quot;, 0);&lt;br /&gt;
    if (engine instanceof Compilable) {&lt;br /&gt;
      Compilable compEngine = (Compilable) engine;&lt;br /&gt;
      try {&lt;br /&gt;
        CompiledScript script = compEngine.rupile(&amp;quot;function count(){counter=counter+1;return counter;}; count();&amp;quot;);&lt;br /&gt;
        System.out.println(script.eval());&lt;br /&gt;
        System.out.println(script.eval());&lt;br /&gt;
        System.out.println(script.eval());&lt;br /&gt;
      } catch (ScriptException e) {&lt;br /&gt;
        System.err.println(e);&lt;br /&gt;
      }&lt;br /&gt;
    } else {&lt;br /&gt;
      System.err.println(&amp;quot;Engine can&amp;quot;t compile code&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/**/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;1.0&lt;br /&gt;
2.0&lt;br /&gt;
3.0&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>