Guest User

Untitled

a guest
Nov 19th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. import org.scalatra.ScalatraKernel
  2. import org.thymeleaf.templateresolver._
  3. import org.thymeleaf.TemplateEngine
  4. import org.thymeleaf.context.WebContext
  5.  
  6. trait ThymeleafSupport {
  7.  
  8. self: ScalatraKernel =>
  9.  
  10. lazy val thymeleafResolver: TemplateResolver = {
  11. val resolver = new ServletContextTemplateResolver
  12. resolver.setTemplateMode("LEGACYHTML5")
  13. resolver.setPrefix("/WEB-INF/layouts/")
  14. resolver.setSuffix(".html")
  15. resolver.setCacheTTLMs(3600000L)
  16. resolver
  17. }
  18.  
  19. lazy val thymeleafTemplateEngine: TemplateEngine = {
  20. val engine = new TemplateEngine
  21. engine.setTemplateResolver(thymeleafResolver)
  22. engine
  23. }
  24.  
  25. def render(templateName: String, attributes: (String, Any)*): String = {
  26. contentType = "text/html; charset=utf-8"
  27. val context = new WebContext(request, servletContext)
  28. attributes.foreach {
  29. case (key, value: Map[_,_]) => context.setVariable(key, value.asJava)
  30. case (key, value: Iterable[_]) => context.setVariable(key, value.asJava)
  31. case (key, value) => context.setVariable(key, value)
  32. }
  33. thymeleafTemplateEngine.process(templateName, context)
  34. }
  35.  
  36. }
Add Comment
Please, Sign In to add comment