|
|
|
|
@ -3,7 +3,6 @@ import org.springframework.web.reactive.result.view.script.RenderingContext
@@ -3,7 +3,6 @@ import org.springframework.web.reactive.result.view.script.RenderingContext
|
|
|
|
|
import org.springframework.context.support.ResourceBundleMessageSource |
|
|
|
|
import org.springframework.beans.factory.getBean |
|
|
|
|
|
|
|
|
|
// TODO Use engine.eval(String, Bindings) when https://youtrack.jetbrains.com/issue/KT-15450 will be fixed |
|
|
|
|
fun render(template: String, model: Map<String, Any>, renderingContext: RenderingContext): String { |
|
|
|
|
val engine = ScriptEngineManager().getEngineByName("kotlin") |
|
|
|
|
val bindings = SimpleBindings() |
|
|
|
|
@ -11,7 +10,6 @@ fun render(template: String, model: Map<String, Any>, renderingContext: Renderin
@@ -11,7 +10,6 @@ fun render(template: String, model: Map<String, Any>, renderingContext: Renderin
|
|
|
|
|
var messageSource = renderingContext.applicationContext.getBean<ResourceBundleMessageSource>() |
|
|
|
|
bindings.put("i18n", { code: String -> messageSource.getMessage(code, null, renderingContext.locale) }) |
|
|
|
|
bindings.put("include", { path: String -> renderingContext.templateLoader.apply("org/springframework/web/reactive/result/view/script/kotlin/$path.html") }) |
|
|
|
|
engine.setBindings(bindings, ScriptContext.ENGINE_SCOPE) |
|
|
|
|
return engine.eval(template) as String |
|
|
|
|
return engine.eval(template, bindings) as String |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|