30

有时有必要扩展一个框架。有时需要挂钩到请求/响应生命周期,例如参数绑定或编写安全模块。如何在 playframework 1.x 中做到这一点?

4

1 回答 1

43

有两种方法可以扩展 play 1.x。首先,您可以编写自己的模块。这在此处进行了详细描述。如果您想提供诸如 iText 之类的库或提供特殊的身份验证机制,这将非常有用。

第二种方法是写一个PlayPlugin。这通常在模块中完成,但这不是必要条件。编写 aPlayPlugin需要两个步骤:

  1. 编写一个扩展类的类PlayPlugin并覆盖它的一些方法,例如调用myPackage.MyPlugin
  2. 注册你的插件。这是通过创建一个名为的文件play.plugins并将其放入类路径中来完成的。该文件必须包含类似1003:myPackage.MyPlugin.

该数字定义了调用插件的顺序。我建议使用 ids > 1000。如果您希望它在框架插件之前加载,请看这里(ids 自 1.1.1 起有效)。

就是这样。要了解使用插件可以做什么,请参阅javadoc。你可以挂钩:

  • 请求/响应周期
  • 绑定过程
  • 应用程序启动/停止
  • 类加载

不幸的是,javadoc 文档很少,但不要犹豫,看看 playframework 本身的代码。它很容易理解并给你很好的想法。

于 2011-01-15T11:38:25.357 回答