用户脚本在java中输入

时间:2013-02-28 07:46:48

标签: java function input scripting

我正在开发一个java应用程序,用户通过属性文件输入某些功能。然后在运行时使用应用程序提供的变量值评估函数。

这是一个简单的例子。用户想要计算未来n年内某个资本分配的投资回报率。他不仅可以输入相关参数,还可以输入逐年计算回报的函数。

任何人都可以建议或推荐一种简单的脚本语言,这样用户学习曲线就不会太陡了,并且提供了与java代码集成的标准库吗?

也欢迎相关的例子。

4 个答案:

答案 0 :(得分:1)

我建议使用javascript。它很简单,Rhino库与java集成。完整信息可在此处找到:Rhino

答案 1 :(得分:1)

你可以看看Groovy。它可以嵌入Java应用程序中,是应用程序脚本的有用工具。

http://groovy.codehaus.org/Embedding+Groovy

答案 2 :(得分:1)

我的建议是使用ScriptEngine并评估Javascript个功能。简单如下:

public class TestScriptEngine {

    private static final String script = "var customFunction = function(parameter) {\n" +
            "\treturn parameter*parameter;\n" +
            "};\n" +
            "\n" +
            "println(customFunction(10));\n";

    public static void main(String[] args) {
        ScriptEngineManager factory = new ScriptEngineManager();
        ScriptEngine engine = factory.getEngineByName("JavaScript");
        // evaluate JavaScript code User's input
        try {
            engine.eval(script);
        } catch (ScriptException e) {
            e.printStackTrace(); 
        }
    }

}

答案 3 :(得分:0)

你可以使用JavaScript或Ruby,它们应该足够方便。