Wei*_*ier 6 scala playframework
我正在使用模板在 Play 中生成电子邮件。该电子邮件包含一个通过反向路由生成的 URL :
<a href="@routes.MyController.downloadFile(user).absoluteURL()">
Run Code Online (Sandbox Code Playgroud)
问题是,该downloadFile函数需要一个implicit request: Request参数(作为 any Action),而我Request在发送电子邮件时并不总是有一个(它可以从请求/响应工作流中触发)。
有没有办法获得反向路线?或者也许我应该向它传递一个虚拟请求对象(然后,如何生成一个?)
小智 1
当隐式请求不可用时,您应该使用下面定义的方法play.mvc.Call(play.api.mvc.Call由反向路由器扩展javaplay.mvc.Call类返回,因此不需要额外的工作):
/**
* Transform this call to an absolute URL.
*
* @param secure true if the absolute URL should use HTTPS protocol instead of HTTP
* @param host the absolute URL's domain
* @return the absolute URL string
*/
public String absoluteURL(boolean secure, String host)
Run Code Online (Sandbox Code Playgroud)
查看代码示例:
@(secure: Boolean, host: String)
<a href="@routes.MyController.downloadFile(user).absoluteURL(secure, host)">
Run Code Online (Sandbox Code Playgroud)
secure值host可以从请求中获取或在应用程序配置中的某个位置定义。
| 归档时间: |
|
| 查看次数: |
106 次 |
| 最近记录: |