您的位置:首页 > 大数据

select2,利用ajax高效查询大数据列表(可搜索、可分页)

2017-06-09 11:22 260 查看


二、导入css和js到网站上

1.使用CDN,节省自己网站的流量

?
2.下载文件到本地,可以做一些个性的定制(比如说修改提示语)

git下载地址

?
三、真刀真枪的干起来

第一步、定制页面个性化元素

?
Java端通过name属性可获得select的value值。

设置class为js-data-example-ajax,页面加载时对该组件进行select2的初始化。

href属性为ajax提供后台检索的URL。

style设置组件的宽度。

inputMessage属性定制个性化的提示语,默认的英文版为Please enter 1 or more characters,中文国际化为“请再输入至少1个字符”,都不太能满足个性化需求,所以需要改,后面介绍。
提供一个默认的option,页面没检索之前显示。

第二步、select2组件化,注释写得很详细了哦

?
第三步、Java端接收参数并返回结果集,不用我强调,这步很重要

?
接下来,把关键的源码贴出来,可能和你的项目不吻合,但可以参考。

?
selec2的分页和Java端分页参数匹配

?
Java端到select2端的数据封装

?
MySQL获取的数据源和PageGrid进行转换匹配

?
mybatis的分页,超简单,只要设置了createRowBounds,mybatis就会自动为你分页,这个就厉害了。

?
sql语句,这里的关键点是必须要回传id(m.uid as id)到select2.

?
你是不是没看见mysql的分页limit,嗯,这里无须关注,这就是框架要为我们做的事情。

总数

?
count(0)就好

?
out输出到response中

?
到这,select2的remote功能在代码部分就完全贴出来完了。

不过,我最后还是要强调几个点:

1.分页的参数Java端和select2一定要对照起来。

2.回传的数据一定要传递一个id回来,否则回来的列表不能选中,为什么呢?调查select2的源码可以知道。

?
3.form表单如何获取select2的值?答案是,1.返回结果集必须有id,2.input标签上必须要name属性。

4.如何自定义inputMessage呢?

在select2.js中找到以下代码,注意注释部分

?
select2.js中defaults中增加上inputMessage

?
然后在zh-CN.js文件中修改inputTooShort方法

?
原文链接:http://blog.csdn.net/qing_gee/article/details/72519313
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: