技术开发 频道

关于JavaScripting API您不知道的5件事

  3. 从 Java 代码调用脚本

  从脚本调用 Java 对象仅仅完成了一半的工作:Java 脚本环境也提供了从 Java 代码调用脚本的功能。这只需要实例化一个 ScriptEngine 对象,然后加载和评估脚本,如清单 5 所示:

  清单 5. Java 平台的脚本调用

import java.io.*;
import javax.script.
*;

public class App
{
    
public static void main(String[] args)
    {
        try
        {
            
ScriptEngine engine =
                
new ScriptEngineManager().getEngineByName("javascript");
            
for (String arg : args)
            {
                FileReader fr
= new FileReader(arg);
                engine.eval(fr);
            }
        }
        catch(IOException ioEx)
        {
            ioEx.printStackTrace();
        }
        catch(ScriptException scrEx)
        {
            scrEx.printStackTrace();
        }
    }
}

  eval() 方法也可以直接操作一个 String,所以这个脚本不一定必须是文件系统的一个文件 — 它可以来自于数据库、用户输入,或者甚至可以基于环境和用户操作在应用程序中生成。

0
相关文章