jbolt 的controller

# controller 和 controller集成的功能

jbolt的controller是jfinal enjoy模板的使用后端实现

在jfinal controller的基础上做了三层抽象

## 三层controller

三层抽象分别对应了对http协议的各种实现

### controller

- http解包处理,如果我们自己想实现一个http网络框架,这里是最基础的。

- 对 session进行了封装

### commoncontroller

- 对各种返回类型做了封装,因为java是静态语言,有必要针对不同的类型提供封装方法

### basecontroller

- 对权限和异常返回做了封装

- 对服务端的reponse做了对应封装

### session

```

@UnCheckIfSystemAdmin

@CheckPermission(PermissionKey.KJJ)

public class KjjIndexController extends BaseController {

    public void index(){

        render("index.html");

        getSessionAttr("key");

        setSessionAttr("key","value");

    }

    public void data(){

        renderJson("{ok:1}");

    }

}

```

### 不涉及上传文件的参数处理

- 客户端可使用get方式

- 客户端使用post和url-encode编码方式

- 控制器函数里的形参和客户端的实参命名一致

- 使用fastjson相关方法把json转为对象

### 涉及上传文件的参数处理

- 在控制函数内处理

- 使用getFile 方法 ,使用getPara



评论区

JFinal

2019-11-08 15:04

谢谢分享

山东小木

2019-11-09 14:42

JBolt极速开发平台 帮助开发者省时 省力 省事儿 极速开发

山东小木

2019-11-09 14:56

JBolt为了让开发者使用更灵活快速方便,针对Controller层做了封装
将参数校验、ret统一返回值、Json返回值、pjax片段返回、Ajax getHtml片段返回等做了封装、
针对http请求错误做了跳转封装、针对获取参数和校验参数按照类型做了区分和简化,
针对权限有相应注解,针对list和array参数,JSON参数做了快速获取封装,
在基础之上分离出BaseController和APIBaseController 用于后端项目和API接口不同场景,
APIBaseControler针对自动签发JWT校验JWT等做了封装,等等吧。
目的就是让开发更极速。
欢迎加入并使用JBolt。了解JBolt和计划