有时需要扩展框架。有时需要挂钩请求/响应生命周期,例如进行参数绑定或编写安全模块。 如何在PlayFramework 1.x中完成此操作?
有时需要扩展框架。有时需要挂钩请求/响应生命周期,例如进行参数绑定或编写安全模块。 如何在PlayFramework 1.x中完成此操作?
有两种方法可以扩展Play 1.x。首先,您可以编写自己的模块。详细介绍了这一点,请点击此处。如果您想提供像iText这样的库或提供特殊的身份验证机制,则此方法很有用。
第二种方法是编写PlayPlugin
。通常在模块中完成此操作,但这不是必要条件。编写PlayPlugin
需要两个步骤:
PlayPlugin
并覆盖其方法,例如myPackage.MyPlugin
.play.plugins
的文件并将其放入类路径中来完成的。该文件必须包含一行类似于1003:myPackage.MyPlugin
的内容。数字定义了调用插件的顺序。我建议使用id > 1000。如果您希望在框架插件之前加载它,请看这里(自1.1.1起,这些id是有效的)。
就这样。为了了解插件能做什么,请查看javadoc。您可以挂钩:
不幸的是,javadoc文档很少,但请随时查看playframework本身的代码。它易于理解并提供了很好的思路。
play.plugins
会被复制到 classes 文件夹中。如果您从 Eclipse 启动 Play,则 Play 会找到该文件两次并加载您的插件两次。 - nielsplay.plugins
文件是否仍然需要? - Eran Medan