0

我正在使用 Play Framework 2.1-RC2,并且有几条路线看起来像:

POST  /resource                 SomeController.action(parent = null)
POST  /parent/:parent/resource  SomeController.action(parent: String)

假设我已jsRoutes使用该play.Routes.javascriptRouter方法将这些路由导出到 javascript,我想调用jsRoutes.SomeController.action()jsRoutes.SomeController.action("some-id")获取适当的路由。但是,这是我得到的 javascript 函数:

function (parent) {
    if (parent == "null") {
        return _wA({
            method: "POST",
            url: "/" + "resource"
        })
    }
    if (true) {
        return _wA({
            method: "POST",
            url: "/" + "parent/" + (function (k, v) {
                return v
            })("parent", parent) + "/resource"
        })
    }
}

似乎 Play 的String路径绑定器已将固定null值转换为 javascriptString文字"null"

我查看了这个问题这个代码文件,但我真的找不到我要找的东西。我不想为String该类使用大部分冗余的包装器。你会认为这会得到开箱即用的支持。这是框架的限制还是我在这里遗漏了什么?

4

1 回答 1

0

这似乎是框架的限制。"null"每当我需要访问第一条路由时,我最终都会传递给 javascript 函数。丑陋,但在问题解决之前一直有效。

于 2013-02-25T10:53:34.760 回答