gpt4 book ai didi

Grails Controller 方法

转载 作者:行者123 更新时间:2023-12-04 05:35:30 25 4
gpt4 key购买 nike

许多可用的 Controller 方法(链、转发、重定向)采用一个映射,其中可以包含如下键:

  • id
  • 参数
  • 型号

  • 关于这些的几个问题:
  • “id”只是名为“id”的请求参数的别名吗?换句话说,
  • 之间有什么区别吗?
    chain(controller: "member", action: "showProfile", params: [id: memberId])

    chain(controller: "member", action: "showProfile", id: memberId)
  • chain方法(可能包括其他)允许将模型和/或参数(映射)从 Controller Action A 传递到 B。实际上,通过参数和模型映射将数据从 Action A 传递到 B 之间有什么区别?另外,如果数据在模型映射中传递,我如何在 Controller 操作 B 中访问它?
  • 最佳答案

    伯特说的一切都是正确的。此外,您想要执行链(如果您有模型)或重定向(如果您没有模型要保留)的原因是因为这两种方法都向浏览器返回 302 重定向响应.浏览器然后知道请求下一页。

    然后它在结果页面的 header 中有正确的 url,而不是原始请求来自的页面的 url。

    这种模式在 POST 信息后非常有用,因为它避免了书签的各种麻烦,如果用户在结果页面上点击刷新,则可以重新提交信息。

    例如:如果您正在保存一本书,并且希望在成功保存该书的情况下呈现列表页面。如果你只是在你的方法中调用“controller.list()”,它会向用户显示被渲染的书籍列表,但 URL 栏仍然会显示“.../book/save”。这不适合添加书签或重新加载。相反,调用redirect/chain 将向浏览器发送302 响应,告诉它请求“.../book/list”页面,它确实这样做了。您的所有变量(您的模型和其他 flash 消息)都在 flash 范围内,因此它们仍然可供您的模型/ View 使用,并且世界上的一切都很愉快。

    这种模式被称为 Post/Redirect/Get .

    关于Grails Controller 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1354719/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com