默认情况下,myapp会将example.com/myapp指向在Seaside注册的任何应用程序。我希望有一个核心应用程序,也可以处理这些链接,或一些其他方式来处理这些链接。
到目前为止,我有一个home应用程序,它也注册为默认应用程序,所以http://mydomain.com将解析到它,但如果我生成一个链接,比如http://mydomain.com/more-info,Seaside会尝试解析在more-info注册的应用程序。如果我想让我的home应用程序处理该链接,该怎么办?或者以其他方式处理?
我使用Apache托管Seaside,所以我可以使用Apache的URL重写引擎将http://mydomain.com/more-info重写为http://mydomain.com/home/more-info,这将由我的home应用程序处理。
有没有更好的方法来做这件事?此外,如果存在指向Seaside请求/响应生命周期的解释的链接,那就太好了。
发布于 2011-02-20 17:06:10
您正在尝试做的事情在Seaside应用程序中并不常见。如果要在应用程序中生成从一个页面到另一个页面的链接,通常使用附加到锚点的回调:
html anchor callback: [ self call: moreInfoComponent]在这种情况下,您并不关心url的外观,Seaside会为您生成url。这种生成的urls从不具有嵌套结构,而是使用参数。
有关Seaside请求/响应周期的更多信息可以在online book (“基础”和“排序组件”章节)中找到。
然而,如果你真的想要有这样一个嵌套的url (使url可加书签),有不同的方法,这取决于你真正想要实现的目标。您可以查看处理过期会话的方法(在本书中),也可以在Seaside-REST package上查看。
顺便说一句,urls到应用程序的映射是通过WADispatcher (实例)实现的。如果您检查以下表达式的结果,您可以看到Seaside的调度程序树。它完全可以通过添加新的应用程序、调度程序等进行自定义。
WAAdmin defaultServerManager adaptors first requestHandler希望这篇文章能帮助你...
https://stackoverflow.com/questions/5048181
复制相似问题