JFinal学习04 —— Action详解
视频来源https://www.bilibili.com/video/BV1Bt411H7J9/?spm_id_from=333.337.search-card.all.click
1、Action是什么
- Action是url请求的最小单位,每个Action都对应一个url地址。
- Action是一个
声明在Controller类里
的、无参数
的、被public修饰
的方法 - 可以通过注解@Before(NoAction class)禁用一个action
如下列的index、myindex都是Action
在 Controller中提供了 getPara、getModel 系列方法 setAttr 方法以及 render 系列方法供 Action 使用。
2、Action类
空白处CRTL+SHIFT+T,搜索Action类
Action类是一个实体类
controllerPath
@ActionKey()注解
3、Action相关源码解析
Action是什么时候创建的,如何创建的
从WebRoot–>web.xml开始入手,解析源码
进入JFinalFilter类
- 进入init()方法:
- 进入initActionMapping()方法:
- 进入buildActionMapping()方法:
buildActionMapping()方法:
构建一个map(actionKey, action)
action是JFinalFilter初始化的时候创建的,获得构建action需要的参数,然后定义action
Action action = new Action(controllerPath, actionKey, controllerClass, method, methodName, actionInters, route.getFinalViewPath(routes.getBaseViewPath()));