JFinal3.0快速上手(十二)

通过阅读之前的文章,小伙伴们应该已经会使用jfinal框架了。那么接下来的任务就简单了,我们将一起就一些常见的却不怎么在意的知识点做一些讲解。让知识掌握的更加牢固,记忆更加深刻。

一、关于JFinalConfig的那些事儿(上)

使用jfinal开发web项目,必须要继承JFinalConfig(抽象类),实现该类内的6个抽象方法。这几个方法在子类中必须要实现,否则程序将无法正确运行。先来快速的浏览下6个方法名,好有个印象。具体如下:

序号 方法名 描述
1、 configConstant() jfinal常量配置
2、 configRoute() jfinal路由配置
3、 configEngine() jfinal模板引擎配置
4、 configPlugin() jfinal插件配置
5、 configInterceptor() jfinal拦截器配置
6、 configHandler() jfinal的Handler(处理流程)配置
1、configConstant常量配置

configConstant()方法中,我们可以处理一些和jfinal有关的常量处理,这样的操作很便利。结合上一节的内容,我们来查看代码。

    @Override
    public void configConstant(Constants me) {
        //设置当前环境为开发环境
        me.setDevMode(true);

    }

以上的配置是告诉jfinal,现在我们处在日常的开发阶段,你必须在控制台输出action report(请求日志)信息。如下图:

JFinal action report -------- 2017-02-25 04:21:13 --------------------------
Url         : GET /manage/1
Controller  : morality.base.ManageController.(ManageController.java:1)
Method      : index
UrlPara     : 1

Url:输出了请求方式,接着输出了action的路由路径(路由+方法名);
Controller:输出了处理这个action的Controller的名字和所在包的路径;
Method:输出当前请求的是哪个方法(处理这个请求的是哪个方法);
UrlPara:输出请求的url参数,该参数没有name,且紧跟着url;
例如:http://localhost:8080/morality2017/manage/1
Parameter:输出url跟随的参数(表单提交的数据或通过"?"外挂的参数),该参数是以键值对的方式表示。例如:http://localhost:8080/morality2017/manage/1?name=yetangtang,输出信息如下:

JFinal action report -------- 2017-02-25 04:21:13 --------------------------
Url         : GET /manage/1
Controller  : morality.base.ManageController.(ManageController.java:1)
Method      : index
UrlPara     : 1
Parameter   : name=yetangtang  

这样可还明白,小伙伴们?

2、configRoute路由配置

jfinal的路由配置也是一个比较重要的知识点,不过也是很好理解的,跟一些常用的框架配置路由差不多,比如Struts、Spring等。

    @Override
    public void configRoute(Routes me) {
        //me.setBaseViewPath("/flower");
        //me.addInterceptor(new FrontInterceptor()); 
        me.add("/manage",ManageController.class);
        me.add("/login",LoginController.class);

    }

细心的小伙伴会发现路由配置这个方法中居然新暴露了几个方法:
setBaseViewPath(),可为每组 Controller 统一配置baseViewPath;
addInterceptor(),可为每组 Controller 统一配置 Interceptor。

3、configEngine模板引擎配置

这个功能可以说是比较重要的,因为有些时候我们不想重复性的代码。比如分页,比如添加用户和修改用户其实页面是一样的,就是想偷个懒。这一节,先简单的介绍一个使用方法,这是3.0新增的一个功能。在2.X版本中,必须要实现的只有5个抽象方法,小伙伴们还有印象么?

    @Override
    public void configEngine(Engine me) {
        //fileName就是页面的路径+文件名
        me.addSharedFunction("/common/_paginate.html");

    }
6、 configPlugin插件配置

jfinal的插件配置使用方法没有什么变化。不清楚的童鞋,可以看看之前的文章。

5、configInterceptor拦截器配置

这是全局的拦截器,会拦截所有的请求。没什么变化。

6、 configHandler处理流程配置

也没什么什么变化,就不赘述了。

PS:关于配置这一块已经讲了70%常用的技能,剩下的30%将会在下一节中讲解,敬请期待!祝各位小伙伴周末愉快!

你可能感兴趣的:(JFinal3.0快速上手(十二))