玩框架i18n和网址

时间:2011-07-19 19:17:54

标签: playframework

我希望能够做到以下几点:

&{"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吗?

2 个答案:

答案 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")}