JFinal3.0快速上手(十二)

作者: 葉糖糖 | 来源:发表于2017-02-25 13:11 被阅读432次

    通过阅读之前的文章,小伙伴们应该已经会使用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快速上手(十二)

        本文链接:https://www.haomeiwen.com/subject/vmjwwttx.html