【问题标题】:How to use controller route defined by subcut in the template如何在模板中使用 subcut 定义的控制器路由
【发布时间】:2014-10-08 00:18:04
【问题描述】:

我的路由文件中有一个定义为@com.xyx.abc(str: String) 的路由。

我想在模板中使用这条路线。我尝试使用

<a href="@com.xyx.abc("temp")/>

显然没有用。

提前致谢。

【问题讨论】:

    标签: playframework-2.0 subcut


    【解决方案1】:

    每个包都会生成反向路由器。所以,如果你有一个名为com 的包、一个名为xyx 的控制器和一个名为abc 的方法,那么你可以这样做:

    @com.routes.xyx.abc("temp")
    

    或者如果它是一个更现实的@com.example.MyController.abc(str: String),那么它会是:

    @com.example.routes.MyController.abc("temp")
    

    【讨论】:

    • 我有一个包 com.example,Controller - HelloController,方法 - getWorld(str:String)。我在这个控制器中为 DI 使用 subcut。请注意,我没有伴生对象。当我尝试在我的 href 中将路由添加为 @com.example.HelloController.getWorld("temp") 时。我收到一个错误 HelloController is not a member of package com.example, HelloContoller 存在但它没有伴随对象。我必须创建伴随对象吗?当我按照路由文件中定义的路径访问它时,这个控制器工作得很好。当我在模板中访问此控制器时遇到了问题。
    • 请注意,@com.example.HelloController.getWorld("temp") 中缺少 routes。换句话说,它应该是这样的:@com.example.routes.HelloController.getWorld("temp")
    • 显然我需要更多的睡眠或更多的咖啡。感谢您指出丹尼尔。当然还要感谢詹姆斯。
    猜你喜欢
    • 2022-11-15
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多