【问题标题】:Dojo dStore Rest dGrid sort parameterDojo dStore Rest dGrid 排序参数
【发布时间】:2016-01-23 11:21:46
【问题描述】:

当我从 dStore 获取时,URL 看起来像这样

http://localhost/rest/dojo?department=sales

效果很好。如果我然后单击 dGrid 的标题,则发送的 URL 如下所示。

http://localhost/rest/dojo?department=sales&sort(+id)&limit(25)

不应该发送 &sort=+id&limit=25 吗?我在后端使用 Java 和 Spring,它希望参数以这种方式格式化。现在我无法接收额外的参数。有没有办法让它按照 Spring 期望的方式发送参数?

【问题讨论】:

    标签: dojo dgrid dstore


    【解决方案1】:

    sort(...)limit(...)dstore/Request 的默认行为(Rest 扩展),但这些可以通过 sortParam 自定义排序,useRangeHeadersrangeStartParamrangeCountParam范围。

    例如,要按照您的要求生成&sort=+id&limit=25,您可以按如下方式设置您的商店:

    var store = new Rest({
        target: '...',
        sortParam: 'sort',
        rangeStartParam: 'offset',
        rangeCountParam: 'limit'
    });
    

    我在上面还假设offset 是您想要用来指示请求范围时从哪条记录开始的GET 参数。通常,如果您不使用范围标头(useRangeHeaders 默认为 false)并且想要设置 count GET 参数,则还需要设置 start GET 参数。

    这些属性在Request Store documentation 中列出。

    【讨论】:

    • 我不肯定,但我认为这不能回答我的问题。参数确实包括不是这个问题的“排序”和“限制”。我的问题是 URL 的格式。参数和值之间没有“=”。请参阅上面的第二个 URL。它目前发送“sort(+id)”而不是“sort=+id”。
    • 我想我可以更清楚地了解Request 的默认行为,如果没有设置Param 属性,则使用sort(...)limit(...)。使用 Param 属性后,Request 将其行为更改为发送标准键/值对,使用 Param 属性设置作为键。试一试。
    • 这确实让我感到困惑。我认为默认格式将是我描述的方式。我从未见过它以另一种方式完成。同样通过指定 sortParam 我希望只更改参数的名称。没有迹象表明格式也会因指定名称而改变。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多