Play 2.1-RC2 Java:使用固定的空参数处理JavaScript路由

play 2.1-rc2 java: handling javascript routes with fixed null parameters

本文关键字:参数 处理 路由 JavaScript 1-RC2 Java Play      更新时间:2023-09-26

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

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

假设我已经使用 play.Routes.javascriptRouter 方法将这些路由导出为 javascript 作为jsRoutes,我想调用 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值转换为JavaScript String文字"null"

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

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