美文网首页JFinal精选
JBolt开发平台入门(19)-AutoSelect组件数据源定

JBolt开发平台入门(19)-AutoSelect组件数据源定

作者: 山东小木 | 来源:发表于2019-10-22 14:44 被阅读0次

    教程总目录

    上一节:JBolt开发平台入门(18)-API应用中心-JWT的生成与使用

    在系列教程中,已经有了针对AutoSelect组件的使用教程和介绍,但是好多小伙伴可能还是不明白数据源结构怎么定义的。
    这个教程,快速带大家了解JBolt极速开发平台前端自动化组件的省心开发模式。

    Demo在JBolt这个位置:

    Demo列表-Autoselect组件演示 autoselect组件demo

    这里有各种针对AutoSelect的使用demo,自动加载数据源,绑定handler事件,自从处理选中,自动切换使用Select2组件渲染,多级渲染,N级联动等等吧,都是一个属性配置就搞定的,没有一行JS。

    用法知道,就差后端数据源定义了。

    一、最简单的下拉列表选择静态数据

    举例:电商模块-商品管理中 查询条件 下拉数据源


    电商商品搜索条件 数据源地址定义

    去action里看看实现:

    GoodsAdminController中的实现

    代码并不复杂,我这里是直接创建数据并renderJsonData返回来的就OK了,这些数据也可以放入缓存中的。


    OptionBean

    理论上,不管是什么数据接口,只要你返回的数据,跟上面这个一样是个List<Option> 或者List<OptionBean>,这个AutoSelect组件就能自动处理所有事情了。

    二、动态数据库里的数据

    举例一、字典表数据读取

    在JBolt极速开发平台中,字典表的数据可以一级也可以多级,所以AutoSelect组件只要给定字典类型的数据源地址,剩下的就不用操心了。


    字典表数据 标识KEY

    指定KEY,就知道加载哪些数据了,如果这个KEY指定的是单层级类型,就显示单层
    如果是多级数据,就显示树形结构Select。


    树形结构Select

    这块自动化适配,完全是按照属于源定义规则,自动处理的。

    其他模块需要这样的话,参考字典表就行了。

    Select2风格的也支持树形

    举例二、用户表数据读取

    读取用户DEMO

    这是读取用户表的demo。

    针对用户表,其实有很多种使用方法,都能实现AutoSelect里加载用户列表。

    1、findAll

    因为User表中有id和name字段,AutoSelect组件会自动识别的,所以直接findAll就可以了。


    FindAll 分析数据发现问题

    但是,通过上面数据一看,是有问题的,用户表的数据是带着passwod等关键信息的,不能泄露出去的,所以findAll是不可取的,这样的接口可是致命的。

    在这里,演示FindAll,是为了让大家明白,只要你的表里有id和name字段,Select是自动识别的,不用你操心。

    2、getCommonList()

    那么这里,user列表我们还能怎么读取数据呢?

    baseServic底层方法就行了

    getCommonList(columns);

    传入需要查询返回的列不就完了?多省心,JBolt底层提供的方法。

    效果

    3、text和value配合 getOptionsList()

    在AutoSelect组件里显示数据用的是Option
    option有text和value两个东西
    在JBolt中提供了Option接口和OptionBean实现
    所以,前面说了,只要你数据里有Option的text和value,select就能识别。

    那么,如何让你的数据有text和value呢?

    1)实现Option接口啊

    比如一个没有name属性的表实现option接口,然后按条件获取列表出来就行了,select就自动识别了。


    Permission实现接口后就有了text和value

    实现了Option接口,每个数据就有了text和value 这样就行了。
    Permission中没有name 有title 用title作为getText的返回值即可。

    2)使用getOptionsList()底层方法

    还以这个没有name的表为例 获取它的数据的时候,还可以使用这个;

    getOptionsList

    很明显,这几个方法都是最后返回列表数据每条数据都有text和value的


    实现代码

    最终执行的sql类似于:

    Select title as name,id as value from permission where xxx;

    总之,只要你有id和name 或者text和value 给AutoSelect组件就没问题。

    下一节:JBolt开发平台入门(20)-前端校验自动化使用教程

    相关文章

      网友评论

        本文标题:JBolt开发平台入门(19)-AutoSelect组件数据源定

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