1、条件查询采用离线条件查询的方法
/**
* 条件查询
*/
public List<Dep> getList(Dep dep1) {
DetachedCriteria dc = DetachedCriteria.forClass(Dep.class);
if(null != dep1) {
//是否输入部门名称
if(null != dep1.getName() && dep1.getName().trim().length() > 0) {
//MatchMode.ANYWHERE 任意位置匹配
//MatchMode.END 结尾匹配
//MatchMode.START 开始匹配
dc.add(Restrictions.like("name", dep1.getName(),MatchMode.ANYWHERE));
}
//是否输入部门的电话
if(null != dep1.getTele() && dep1.getTele().trim().length() > 0) {
//MatchMode.ANYWHERE 任意位置匹配
//MatchMode.END 结尾匹配
//MatchMode.START 开始匹配
dc.add(Restrictions.like("tele", dep1.getTele(),MatchMode.ANYWHERE));
}
}
return (List<Dep>) this.getHibernateTemplate().findByCriteria(dc);
}
2、采用jquery.serializejson.js插件将查询表单数据转化为JSON对象。注意引入js
//绑定点击事件
$('#btnSearch').bind('click', function() {
//将查询表单数据转为JSON对象
var formData = $('#searchForm').serializeJSON();
//把json对象转为字符串
alert(JSON.stringify(formData));
});
3、 第一种:利用ajax将已经转为json对象的form表单数据传送到后端,并回调数据
//利用AJAX提交JSON对象数据
$.ajax({
url:'dep_getList',//将数据提交到该地址(action中的方法)
data:formData, //数据源
dataType:'json', //数据格式
type:'post', //数据提交方法
//成功后返回查询到的json对象
success:function(rtn) {
//grid加载数据
$('#grid').datagrid('loadData',rtn);
}
});
第二种:
//绑定点击事件
$('#btnSearch').bind('click', function() {
//将查询表单数据转为JSON对象
var formData = $('#searchForm').serializeJSON();
//将数据传入通过ajax传入后端并回调数据,url默认使用前面#grid指定的url
$('#grid').datagrid('load',formData);
});
4、整个实现代码如下:
<!-- 将dep_list方法查询到的数据通过JSON返回到页面(采用了easyUI回显表格数据的方法) -->
<script type="text/javascript">
$(function() {
//grid是要显示数据的id
$('#grid').datagrid({
//dep_list是获取JSON数据的url(本文中是action页面中的一个方法)
url : 'dep_getList',
columns : [ [ {
field : 'uuid',
title : '部门编码',
width : 100
}, {
field : 'name',
title : '部门名称',
width : 100
}, {
field : 'tele',
title : '联系电话',
width : 100,
align : 'right'
} ] ]
});
//绑定点击事件
$('#btnSearch').bind('click', function() {
//将查询表单数据转为JSON对象
var formData = $('#searchForm').serializeJSON();
//将数据传入通过ajax传入后端并回调数据,url默认使用前面#grid指定的url
$('#grid').datagrid('load',formData);
/* 整个这段代码等同于$('#grid').datagrid('load',formData);
//利用AJAX提交JSON对象数据
$.ajax({
url:'dep_getList',//将数据提交到该地址(action中的方法)
data:formData, //数据源
dataType:'json', //数据格式
type:'post', //数据提交方法
//成功后返回查询到的json对象
success:function(rtn) {
//grid加载数据
//可以理解为:grid对象的datagrid方法,该方法需要两个参数,第一个为loadData方法,第二个为rtn
$('#grid').datagrid('loadData',rtn);
}
}); */
});
});
</script>