• Menu
  • Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

JavaBeat

Java Tutorial Blog

  • Java
    • Java 7
    • Java 8
    • Java EE
    • Servlets
  • Spring Framework
    • Spring Tutorials
    • Spring 4 Tutorials
    • Spring Boot
  • JSF Tutorials
  • Most Popular
    • Binary Search Tree Traversal
    • Spring Batch Tutorial
    • AngularJS + Spring MVC
    • Spring Data JPA Tutorial
    • Packaging and Deploying Node.js
  • About Us
    • Join Us (JBC)
  • Java
    • Java 7
    • Java 8
    • Java EE
    • Servlets
  • Spring Framework
    • Spring Tutorials
    • Spring 4 Tutorials
    • Spring Boot
  • JSF Tutorials
  • Most Popular
    • Binary Search Tree Traversal
    • Spring Batch Tutorial
    • AngularJS + Spring MVC
    • Spring Data JPA Tutorial
    • Packaging and Deploying Node.js
  • About Us
    • Join Us (JBC)

How To Run External JavaScript File using ScriptEngine

April 22, 2014 //  by Krishna Srinivasan//  Leave a Comment

This example is to show how to load the script files to ScriptEngine and evaluate it. In our previous example I have explained how to write script in the Java file and use it in the Java method. In real scenario, scripts written in the external files with bunch of code. We have load the file using the File readers.

This example does the following things:

  • Create ScriptEngineManager and ScriptEngine
  • Create external script file named Eval.js
  • Create FileReader for reading the script file
  • Load the script file by passing the FileReader using ScriptEngine.eval() method
  • Invoke the methods

JavaScriptEngineEvalExample.java

package javabeat.net.script;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.Reader;

import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

/**
 * Load Script File Example
 *
 * @author Krishna
 *
 */
public class JavaScriptEngineEvalExample {
	public static void main(String[] args) throws ScriptException,
			FileNotFoundException, NoSuchMethodException {

		// Create ScriptEngineManager
		ScriptEngineManager engineManager = new ScriptEngineManager();

		// Create ScriptEngine
		ScriptEngine engine = engineManager.getEngineByName("ECMAScript");

		//Create file and reader instance for reading the script file
		File file = new File("Eval.js");
		Reader reader = new FileReader(file);

		//Pass the script file to the engine
		engine.eval(reader);
		System.out.println("Java Program Output");
		//Create invocable instance
		Invocable invocable = (Invocable) engine;

		//Invoke the methods defined in the script file
		invocable.invokeFunction("firstFn", "Eval.js");

	}
}

Eval.js

println("Loaded the scripts");
function firstFn(name){
	println("This Method written in script file : "+name);
}

Output…

Loaded the scripts
Java Program Output
This Method written in script file : Eval.js

Category: JavaTag: Javax Script

About Krishna Srinivasan

He is Founder and Chief Editor of JavaBeat. He has more than 8+ years of experience on developing Web applications. He writes about Spring, DOJO, JSF, Hibernate and many other emerging technologies in this blog.

Previous Post: « Invoke Script Function using ScriptEngine
Next Post: How To Import Java Package Inside JavaScript using ScriptEngine »

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

Follow Us

  • Facebook
  • Pinterest

FEATURED TUTORIALS

New Features in Spring Boot 1.4

Difference Between @RequestParam and @PathVariable in Spring MVC

What is new in Java 6.0 Collections API?

The Java 6.0 Compiler API

Introductiion to Jakarta Struts

What’s new in Struts 2.0? – Struts 2.0 Framework

JavaBeat

Copyright © by JavaBeat · All rights reserved
Privacy Policy | Contact