`
stworthy
  • 浏览: 522799 次
  • 来自: ...
社区版块
存档分类
最新评论

谈谈ET-MVC的路由映射功能

阅读更多

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的匹配是可以进行分包。欢迎大家讨论一下这种路由映射规则如何?

分享到:
评论
1 楼 ytlizhen 2012-05-04  
你好,我下了一et.mvc的项目,为什么request有错啊

相关推荐

Global site tag (gtag.js) - Google Analytics