简单了解了Jfinal
今日需求:使用Jfinal+bootstrap制作首字母查询功能
看似简单的小需求 我整了一天 而且是在公司大佬的带领下完成的,昨天接触了Jfinal框架似乎对其了解了,做个了自我感觉牛逼其实很垃圾的学生表的增删改查,自以为可以胜任工作上的一些需求,今天我迎来了第一个需求 就这个小小的首字母模糊查询
总结一下遇到的难题:
导入老项目时pom文件报错Missing artifact com.oracle:ojdbc14:jar:10.2.0.4.0
这个错误是属于oracle很经典的错误,没有导入oracle的包
解决方法:
下载 ojdbc14-10.2.0.4.0.jar 然后放到指定位置的maven仓库里
比如这个xml报错 我们应该把jar包放在 maven仓库位置/com/jfinal 下
然后cmd运行
mvn install:install-file -DgroupId=com.Oracle -DartifactId=ojdbc14
-Dversion=10.2.0.4.0 -Dpackaging=jar -D file=jar包存放的位置
然后就解决了
Jfinal里面的实体要和前端的id对应也要和数据库字段对应
比如:
画圈的地方都需要一致
今日的需求代码加自我讲解
前端:
需要在加入bootstrap-suggest.min.js
<script src="#(ctx)/common/js/bootstrap-suggest/bootstrap-suggest.min.js"></script>
//这次加在了include.html文件中
//客户拼音码
if($("#name").length>0){
var custBsSuggest = $("#name").bsSuggest({
allowNoKeyword: false, //是否允许无关键字时请求数据
showBtn: false,
hideOnSelect: true,
clearable: true,
idField: "customerId",
keyField: "name",
effectiveFields:["name"],
getDataMethod: "url", //获取数据的方式,总是从 URL 获取
url: "/admin/pubCustinfo/SelectName?retrieveCode=",
/*如果从 url 获取数据,并且需要跨域,则该参数必须设置*/
processData: function (json) { // url 获取数据时,对数据的处理,作为 getData 的回调函数
var i, len, data = {
value: []
};
if (json.length === 0) {
return false;
}
len = json.length;
for (i = 0; i < len; i++) {
data.value.push({
name: json[i].name,
customerId: i
});
}
data.defaults = '';
//字符串转化为 js 对象
return data;
}
}).on('onSetSelectValue', function (e, keyword) {
if($("#customerId").length>0){
$("#customerId").val(keyword.id);
}
});
}
后台代码:
controller
/***
* 客户姓名首字母查询
* @throws Exception
*/
public void SelectName(){
//获取前端传过来的值
String abbreviation = getPara("retrieveCode");
//查询数据库
List jg = service.selectName(abbreviation);
//json形式传输给前端
renderJson(jg);
}
service:
public List<Record> selectName(String abbreviation) {
// TODO Auto-generated method stub
String sql = " from "+TABLE_NAME+" o where 1=1";
//判断为空
if(StrKit.notBlank(abbreviation)) {
sql = sql + " and o.sortl like '"+ abbreviation +"%'";
}
//返回查出来的数据 分页用return Db.paginate(pnum, psize, " select * ", sql);
return Db.find(" select name " + sql);
}
ok在不下班赶不上汽车了 拜拜了