-
Notifications
You must be signed in to change notification settings - Fork 21
etmvc框架中的插件
shuzheng edited this page Aug 13, 2015
·
1 revision
etmvc框架拥有一套插件体系结构,如果需要扩展某些功能,就可以通过插件来完成。etmvc框架在初始化时会扫描安装进来的插件,如果发现有插件就进行加载。
举个例子,在WEB应用程序中如若需要一个后台服务进程处理一些事情,则使用插件提供的机制可能很合适,又如,在需要整个WEB应用程序加载之前执行一些代码时,也可以利用插件来完成,因为插件的启动执行是在etmvc框架初始化时完成的。
编写插件分二个步骤:
1、编写插件实现代码,要求实现com.et.mvc.PlugIn接口,如:
public class RouteLoader implements PlugIn{
@Override
public void destroy() {
}
@Override
public void init(PlugInContext ctx) {
Route route = new Route("blog/$year/$month/$day", DefaultRouteHandler.class);
route.setController("blog");
route.setAction("show");
RouteTable.addRoute(0, route);
}
}
其中init方法做一些初始化的工作,destroy作一些销毁的工作。
2、注册插件,在web.xml中增加一个plugin的参数:
<filter>
<filter-name>etmvc</filter-name>
<filter-class>com.et.mvc.DispatcherFilter</filter-class>
<init-param>
<param-name>controllerBasePackage</param-name>
<param-value>controllers</param-value>
</init-param>
<init-param>
<param-name>viewBasePath</param-name>
<param-value>/views</param-value>
</init-param>
<init-param>
<param-name>plugin</param-name>
<param-value>utils.RouteLoader</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>etmvc</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
plugin参数值为插件实现类的名称,如果有多个插件,则以“,”分开。
3、重启WEB容器,这样就能正确加载插件了。
使用教程
- etmvc框架介绍
- Hello,World经典示例
- 关于etmvc的配置
- 理解并使用控制器
- Action方法和控制器环境
- 关于etmvc的视图
- 扩展etmvc的视图
- 利用etmvc中的模型绑定简化Action方法的编写
- ORM-ActiveRecord基础
- 利用etmvc编写用户管理小例子
- ActiveRecord中同时访问多个数据库
- ActiveRecord中的关联
- etmvc中进行上传和下载
- etmvc和extjs结合分页例子
- etmvc的过滤器基础
- ActiveRecord中集成spring
- ActiveRecord中使用事务
- etmvc中使用环绕过滤器
- ActiveRecord中的数据类型映射
- ActiveRecord中的回调方法
- etmvc框架中的插件
- etmvc框架对URL路由的支持
- etmvc中使用环绕过滤器处理异常
- etmvc中的国际化处理
- etmvc框架集成spring