浏览 2464 次
锁定老帖子 主题:谈谈ET-MVC的路由映射功能
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-09-22
最后修改:2009-04-13
1、根据请求URL映射到控制器和操作的功能由RouteTable进行登记,比如系统默认会有这样的映射规则: Route defaultRoute = new Route("$controller/$action/$id", DefaultRouteHandler.class); routes.add(defaultRoute); 即按照“控制器/动作/ID”的方式进行匹配,使用默认的路由处理DefaultRouteHandler,在映射控制器时支持分包功能,将控制器类可以按包分成多个控制器包。比如: http://localhost:8084/myweb/ca/config/test/23将映射成{controller="controllers.ca.ConfigController",action="test",id="23"} http://localhost:8084/myweb/user/login将映射成{controller="controllers.UserController",action="login"}
2、可以自定义路由规则,比如 Route route = new Route("blog/$year/$month/$day", "blog", "show", DefaultRouteHandler.class); RouteTable.addRoute(0, route); 将插入新的路由规则,其优先级在默认路由之上,这时 http://localhost:8084/myweb/blog/2008/02/03将映射成{controller="blog",action="show"},并设置参数year,month,day。
3、可以实现RouteHandler接口,以实现自定义路由映射处理方法。
GRAILS的控制器还没能进行分包,ROR可以按模块进行划分,ET-MVC对controller的匹配是可以进行分包。欢迎大家讨论一下这种路由映射规则如何? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |