Код Rhino для компиляции шаблона подчеркивания

У меня есть код Rhino для вызова компилятора шаблона Dust.

public RhinoTemplateCompiler(final Reader js) throws ScriptException
    {
        final ScriptEngine engine = getJavaScriptEngine();
        this.invocable = (Invocable) engine;
        engine.eval(js);
        this.dust = engine.get("dust");
    }

    @Override
    public String compile(final String templateName, final String template) throws Exception
    {
        return invocable.invokeMethod(dust, "compile", template, templateName).toString();
    }

Мне было интересно, что если мне нужно сделать, чтобы изменить компилятор моих шаблонов, если я должен использовать подчеркивание на стороне сервера..

обновленный

Поэтому метод подчеркивания шаблона имеет следующие аргументы

 _.template = function(text, settings, oldSettings)

Теперь я изменил свой метод вызова следующим образом

public RhinoTemplateCompiler(final Reader js) throws ScriptException
    {
        final ScriptEngine engine = getJavaScriptEngine();
        this.invocable = (Invocable) engine;
        engine.eval(js);
        this.obj = engine.get("_");
    }

    @Override
    public String compile(final String templateName, final String template) throws Exception
    {
        final Object object = invocable.invokeMethod(obj, "template", template, "", "").toString();
        return object.toString();
    }

возвращаемый объект, который я получаю после вызова, это строка

sun.org.mozilla.javascript.internal.InterpretedFunction@13cbd84f

Я не уверен, что я делаю неправильно, потому что я ожидал скомпилированный шаблон.

0 ответов

Другие вопросы по тегам