2012-05-30 35 views
0

偶爾會看到這類異常。任何想法爲什麼會發生? 我認爲所有模板都是在prod模式下重新啓動服務器時編譯的,但是這個錯誤似乎是在請求路徑上引發的。playframework中的TemplateCompilationException

play.exceptions.TemplateCompilationException: unexpected token: } 
at play.templates.GroovyTemplate.compile(GroovyTemplate.java:174) 
at play.templates.GroovyTemplate.internalRender(GroovyTemplate.java:195) 
at play.templates.GroovyTemplate$ExecutableTemplate.invokeTag(GroovyTemplate.java:379) 
at /app/views/base-user-layout.html.(line:89) 
at play.templates.GroovyTemplate.internalRender(GroovyTemplate.java:232) 
at play.templates.GroovyTemplate.internalRender(GroovyTemplate.java:267) 
at play.templates.Template.render(Template.java:26) 
at play.templates.GroovyTemplate.render(GroovyTemplate.java:187) 
at play.mvc.results.RenderTemplate.<init>(RenderTemplate.java:24) 
at play.mvc.Controller.renderTemplate(Controller.java:660) 
at play.mvc.Controller.renderTemplate(Controller.java:640) 
at play.mvc.Controller.render(Controller.java:695) 
at controllers.UserController.profile(UserController.java:111) 
at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:548) 
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:502) 
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:478) 
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:473) 
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:161) 
at play.server.PlayHandler$NettyInvocation.execute(PlayHandler.java:257) 
at play.Invoker$Invocation.run(Invoker.java:278) 
at play.server.PlayHandler$NettyInvocation.run(PlayHandler.java:235) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165) 
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
at java.lang.Thread.run(Thread.java:636) 

回答

2

在Play 1.x中,模板未被編譯。模板由html和groovy代碼組成。 groovy代碼在運行之前不會被解釋。

然而,播放2,完全編譯。