Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.scalatra.ScalatraKernel
- import org.thymeleaf.templateresolver._
- import org.thymeleaf.TemplateEngine
- import org.thymeleaf.context.WebContext
- trait ThymeleafSupport {
- self: ScalatraKernel =>
- lazy val thymeleafResolver: TemplateResolver = {
- val resolver = new ServletContextTemplateResolver
- resolver.setTemplateMode("LEGACYHTML5")
- resolver.setPrefix("/WEB-INF/layouts/")
- resolver.setSuffix(".html")
- resolver.setCacheTTLMs(3600000L)
- resolver
- }
- lazy val thymeleafTemplateEngine: TemplateEngine = {
- val engine = new TemplateEngine
- engine.setTemplateResolver(thymeleafResolver)
- engine
- }
- def render(templateName: String, attributes: (String, Any)*): String = {
- contentType = "text/html; charset=utf-8"
- val context = new WebContext(request, servletContext)
- attributes.foreach {
- case (key, value: Map[_,_]) => context.setVariable(key, value.asJava)
- case (key, value: Iterable[_]) => context.setVariable(key, value.asJava)
- case (key, value) => context.setVariable(key, value)
- }
- thymeleafTemplateEngine.process(templateName, context)
- }
- }
Add Comment
Please, Sign In to add comment