【问题标题】:Static methods versus template parameters in Play frameworkPlay 框架中的静态方法与模板参数
【发布时间】:2013-04-13 20:10:31
【问题描述】:

在我使用Play 2.0.x 框架的项目中,我有很多 模板。这些模板中的很多都采用StringLang 参数来在页面上以某种语言显示用户名和文本。

由于几乎所有模板都使用了这些,我应该:

  1. 将用户名和语言作为参数传递给模板?
  2. 在我的模型中使用静态方法来获取用户名/语言?

示例 1:

控制器:

return ok(views.html.template.render(User.username(), User.language());

调用模板:

@(lang: Lang)(username : String)
<p>@Messages.get(lang, "hello") username!</p>

示例 2:

控制器:

return ok(views.html.template.render());

调用模板:

<p>@Messages.get(User.language(), "hello") User.username()!</p>

我想知道首选哪种方法,为什么以及使用其中一种方法是否有任何缺点。

【问题讨论】:

    标签: java templates parameters static playframework-2.0


    【解决方案1】:

    实际上您完全理解我只能建议使用静态方法的使用方式,正如您所见,@Messages 类做到了并且有效,否则您每次都需要传递它们。

    提示,为避免冗余数据库查询,尤其是在获取登录用户的对象时,请考虑使用缓存 API(每个用户一个条目)。

    【讨论】:

      猜你喜欢
      • 2019-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-20
      • 2016-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多