Код 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
Я не уверен, что я делаю неправильно, потому что я ожидал скомпилированный шаблон.