我希望能够做到以下几点:
&{"some.i18n.key",@Secure.logout}
我收到此错误
play.exceptions.TemplateCompilationException: unable to resolve class secure.logout , unable to find class for annotation
如果我这样做
#{set 'logoutUrl'}@{secure.logout}#{/set}
&{"some.i18n.key",logoutUrl}
它运作得很好
我需要在这里使用Router.reverse吗?
答案 0 :(得分:3)
Play教程的internationalization部分有以下示例,通过将其作为参数传递来使用消息中的链接:
&{'logIn', actionBridge.Admin.index()}
基于此,我希望以下内容适合您的情况:
&{'some.i18n.key', actionBridge.Secure.logout()}
没有详细记录。看起来this ticket可以将其添加到文档中。
答案 1 :(得分:1)
是的,您可以使用Router.reverse
。但是,当您在模板中时,您需要确保使用Router对象的完全限定名称。
以下代码应该适合您。
&{"some.i18n.key", play.mvc.Router.reverse("Secure.logout")}