Java 脚本是一种轻量级的脚本语言,它可以用来创建动态的 Web 内容。它是一种基于 Java 的脚本语言,可以在浏览器中运行,也可以在服务器端运行。Java 脚本具有非常强大的功能,可以用来创建复杂的 Web 内容,如图形、动画、游戏等。
Java 脚本具有非常强大的功能,可以用来创建复杂的 Web 内容。它支持多种数据库、XML 技术、AJAX 技术、Web 服务等。此外,Java 脚本还支持各种浏览器,包括 Internet Explorer、Firefox、Chrome 等。
// 使用 Java 脚本创建一个新的 HTML 页面 var page = document.createElement("html"); document.body.appendChild(page);
Java 脚本还可以用于创建各种应用程序,如图形界面应用程序、数据库应用程序、Web 服务应用等。此外,Java 脚本还可以与其他语言集成使用,如 C++ 、C# 、Python 等。
// 使用 Java 脚本创建一个新的数据库表格 var table = document.createElement("table"); document.body.appendChild(table);
Java Scripting API允许我们将参数从Java应用程序传递到脚本引擎,反之亦然。
msg
是print()函数中使用的变量。
脚本不声明 msg
变量。
我们可以通过几种方式将参数传递给脚本引擎。
一种方法是使用脚本引擎的 put(String paramName,Object paramValue)
方法,它接受两个参数:
要将名为 msg
的参数传递给脚本引擎,请按如下所示调用put()方法:
engine.put("msg", "Hello from Java program");
以下代码显示了如何将参数从Java程序传递到脚本。
import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; public class Main { public static void main(String[] args) { // Get the Nashorn engine ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("JavaScript"); String script = "print(msg)"; try { engine.put("msg", "Hello from Java program"); engine.eval(script); } catch (ScriptException e) { e.printStackTrace(); } } }
上面的代码生成以下结果。
将名为msg的参数传递给JRuby中的脚本。
ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("jruby"); String script = "puts($msg)"; engine.put("msg", "Hello from Java"); // Execute the script engine.eval(script);
传递给脚本的Java对象的属性和方法可以在脚本中访问。
import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; public class Main { public static void main(String[] args) throws Exception{ ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("JavaScript"); String script = "print(msg.toUpperCase());print(msg.indexOf("a"))"; engine.put("msg", ".cn"); engine.eval(script); } }
上面的代码生成以下结果。
脚本引擎可以将全局范围变量传递给Java代码。
ScriptEngine
的get(String variableName)
方法可以访问Java代码中的这些变量。
它返回一个Java对象。
全局变量的声明是与脚本语言相关的。
import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; public class Main { public static void main(String[] args) throws Exception { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("JavaScript"); String script = "var year = 2015"; engine.eval(script); Object year = engine.get("year"); System.out.println("year"s class:" + year.getClass().getName()); System.out.println("year"s value:" + year); } }
上面的代码生成以下结果。
Java Lambda变量捕获lambda表达式可以访问最终局部变量或局部非最终初始化只有一次的变量。例子下面的代码显示我们可以访问和使...
Java Lambda-Java构造函数引用我们可以使用构造函数创建一个lambda表达式。使用构造函数引用的语法是:ClassName::new关键字new...
Java Lambda-Java函数接口FunctionT, R 接口有六个特殊化:IntFunctionRLongFunctionRDoubleFunctionRToIntFunctionTToLongFunct...
Java流 -Java流组合reduce()操作组合流中的所有元素以产生单个值。reduce操作采用两个称为种子(初始值)和累加器的参数。累加器是...
JavaFX教程 -JavaFX时间轴动画通过更改节点的属性(如大小,位置和颜色等)创建动画。时间轴动画会随着时间的推移更新属性值。Java...