2017-02-15 11:43
除了 jfinal template engine 这个模块涉及编译原理方面的算法,较为有难度以外,其她模块都很简单易读,只需具 java 基础知识即可。如果想看懂 template engine 模块,需要了解词法分析、语法分析、AST、语法分析等编译原理方面的知识
读源码最好的方式,是先了解项目的架构,先在心中有个宏观的认知,可以通过 jfinal 手册中的架构图去了解
在了解架构的基础之上,通过在关键代码处添加断点,进行调试便可了解程序大致的执行流程
在了解程序大致的执行流程以后,再分别在自己感兴趣的单个模块中的合适的地方设置断点,并进行单步调试,例可了解程序执行的所有细节
通过以上方式便可极为高效的了解 jfinal 源码,简单来说就是:了解架构 + 代码调试
仅仅去读代码,只是以静态的视角去了解内部,而程序运作却是动态的,所以让阅读方式从静态转变为动态是更加高效的方式
2017-02-12 18:07
@EATI001 这种玩法,使用 jfinal template engine 提供的“指令级扩展”非常方便去实现
2017-02-12 17:49
@EATI001 主要是不知道怎么去支持这个功能,因为模板渲染出 html 数据给浏览器以后,控制权已然在了浏览器,此时后端怎么去控制前端来部分刷新操作?
难道要同时渲染出 js 代码,用 js 代码再请求后端去局部刷新?
2017-02-12 13:39
@gulixiong 为什么不使用 DemoConfig 中的 main 方法,点击右键直接运行项目?
2017-02-12 11:41
@gulixiong 再补充一句,这个 context path 问题,也属于 java web 规范,与 jfinal 无关,仅仅是 jfinal demo 这个项目的 html 资源路径全部以 "/" 打头,所以部署时让 context path 为 "/" 就好
2017-02-12 11:32
@gulixiong jfinal 是标准的 java web 项目,所以,以前你所有的 java web 项目部署经验完全有效,仅仅注意一下 context path 与资源路径问题就可以了,我在这里回复任何表面上的解决方案都不是本质方案
建议你抓住本质性的东西:context path让其正确即可
2017-02-12 11:07
@gulixiong 关于出现 404 的问题,其实昨天已经回复你了,看下这篇博文就知道了:https://my.oschina.net/jfinal/blog/353062
简单说是 jfinal demo 中的 html 文件中的资源路径全是以 "/" 开头,而你的配置是 contextpath 为 "jfinal_demo",必然导致路径出问题,contextpath 是一个很鸡肋的设计,永远让其值为 "/" 即可
俱乐部对大家的帮助必然是优先保障的,并且俱乐部是完全技术讨论的氛围,很多小伙伴们都很乐意帮助其他人