【发布时间】:2017-04-18 04:33:41
【问题描述】:
我正在开发一个基于 Mason-perl 的 web 应用程序,并希望在特定 url 到达流和生成视图之前拦截它(如果满足条件,我将进行一些条件检查并重定向到不同的 URL)。在基于 Spring 的 mvc 中,我们有 interceptor 的概念,这有助于我们实现这一目标。有人可以指出如何在基于 Mason-perl 的 web 应用程序中实现这一点
【问题讨论】:
-
Mason 本身不是 MVC。它只是 V(如 view 中的)。你如何使用它?您是使用自己的路由处理,还是使用另一个 Web 框架?您可能必须在调度程序中执行此操作。梅森本身并不能提供你想要的。请参阅source for
run和_make_request。 -
我不熟悉拦截器的概念,也许你需要像 Mason::Plugin::RouterSimple 这样的东西?如果对你有用请看这个问题stackoverflow.com/questions/32353992/…
-
@simbabque 您的评论并不完全正确。 Mason 通常用作视图,但您可以单独使用它,并且它也支持应用程序的控制器部分。 (如果您检查请求分派如何工作到组件、自动处理程序和 dhandlers 就足够了)。此外,Mason 完全支持 Mason::Plugin::RouterSimple 路由。所有这些也提供了足够强大的“C”部分。 :) 在旧教程中阅读更多内容(当前教程已移至 Poet,但旧教程仍然完全有效):metacpan.org/pod/release/JSWARTZ/Mason-2.16/lib/Mason/Manual/…
标签: perl web-applications frameworks mason