首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改在Seaside中处理单个元素路径的方式?

如何更改在Seaside中处理单个元素路径的方式?
EN

Stack Overflow用户
提问于 2011-02-19 09:07:52
回答 1查看 128关注 0票数 2

默认情况下,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请求/响应生命周期的解释的链接,那就太好了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-20 17:06:10

您正在尝试做的事情在Seaside应用程序中并不常见。如果要在应用程序中生成从一个页面到另一个页面的链接,通常使用附加到锚点的回调:

代码语言:javascript
复制
html anchor callback: [ self call: moreInfoComponent]

在这种情况下,您并不关心url的外观,Seaside会为您生成url。这种生成的urls从不具有嵌套结构,而是使用参数。

有关Seaside请求/响应周期的更多信息可以在online book (“基础”和“排序组件”章节)中找到。

然而,如果你真的想要有这样一个嵌套的url (使url可加书签),有不同的方法,这取决于你真正想要实现的目标。您可以查看处理过期会话的方法(在本书中),也可以在Seaside-REST package上查看。

顺便说一句,urls到应用程序的映射是通过WADispatcher (实例)实现的。如果您检查以下表达式的结果,您可以看到Seaside的调度程序树。它完全可以通过添加新的应用程序、调度程序等进行自定义。

代码语言:javascript
复制
WAAdmin defaultServerManager adaptors first requestHandler

希望这篇文章能帮助你...

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5048181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档