当前位置:  开发笔记 > 编程语言 > 正文

如何在不重定向的情况下向Seaside响应中添加Cookie?

如何解决《如何在不重定向的情况下向Seaside响应中添加Cookie?》经验,为你挑选了1个好方法。

我正在Seaside制作一个小型Web应用程序.我有一个登录组件,在用户登录后我想在下一个组件呈现自己时发送cookie.有没有办法获得处理响应的对象,所以我可以添加一些它将输出的标题?

我试图避免使用WASession >> redirectWithCookies,因为重定向只是因为我想设置一个cookie似乎相当笨拙.

是否有另一种方法可以添加一个将在下一个响应中发布的cookie?



1> Julian..:

目前,在请求处理的操作/回调阶段,没有内置的方法来添加cookie.这很可能是一个缺陷,在本期中有所提及:http://code.google.com/p/seaside/issues/detail?id = 48

目前预计海边2.9将被修复,但我不知道它是否会被反向移植到2.8.

请记住,操作和呈现阶段之间已经(默认情况下)重定向,以防止刷新重新触发回调,因此在宏观方案中,在这种情况下再多一次重定向并不是那么糟糕.

如果您还想进一步深入挖掘,请查看WARenderContinuation >> handleRequest:.这就是触发回调处理并开始重定向或渲染阶段的地方.

编辑添加:

该问题现已得到修复,并且(在最新的开发代码中)您现在可以随时正确地将cookie添加到当前响应中.只需访问当前请求上下文中的响应对象并添加cookie即可.例如,您可能会执行以下操作:

self requestContext response addCookie: aCookie

这不太可能被移植到Seaside 2.8,因为它要求处理响应的方式发生相当大的转变.

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有