Seaside-如何在会话中获得完整的url



我正在开发一个应用程序,该应用程序将为多个客户组织提供服务,每个客户组织都应该基于固定的url进行访问。示例:domain/myapp/CustomerOrg1

以前,我总是为每个入口点注册一个新的WAComponents子类。这确实有效,但必须有一个更好的解决方案,我希望用一个组件类来找出请求使用的URL(然后用客户组织的主页进行响应)

我试过了:

  • 注册WARequestHandler子类;它允许我找到完整的路径(包括/CustomerOrg1),但我不在任何会话之外,不知道如何进入会话。

  • 将WAComponent子类注册为/myapp,其工作原理是它还自动处理/myapp/CustomerOrg1,但是当我试图找出(self session url inspect)使用的URL时,它声称只是基本URL(/myapp)。

尝试

self requestContext request uri

如果你不是在一个组件中,而是在任何对象中,你都可以进行

WACurrentRequestContext value request uri

请注意,您在Norbert的回答中获得的uri是在生产环境中,该值已经由负责静态内容和负载平衡的(Apache/nginx/etc)Web服务器处理,并可能进行了修改。

最新更新