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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值