- 浏览: 25598 次
最新评论
根据不同条件或组合条件检索信息是很常用的需求,下面将在struts2+easyui的datagrid显示列表信息的前提下实现单条件或组合条件检索信息。
一、编辑控制器
二、编辑模型层
1.service
2.emplDaoImpl
三、编辑jsp
四、编辑js
大功告成,效果如下:
一、编辑控制器
//显示员工信息列表 public void listEmpl() throws IOException{ //设置响应格式 resp.setCharacterEncoding("UTF-8"); //获取当前用户的id Empl currEmpl = (Empl) session.getAttribute("emp1"); int currId = currEmpl.getEid(); //当前页 int offset=!"".equals(req.getParameter("page"))&&null!=(req.getParameter("page"))?Integer.parseInt(req.getParameter("page")):1; //查询条件:员工名称、职位、部门名称、状态 Pager<Object[]> pager=empService.search(empl,ajob,adept,ajobStatus,currId,offset); //将数据存入list中,它存入的是map,这样在easyui的datagrid才能以键值对的形式获取到具体的数据 List<Map<String,String>> list = new ArrayList<>(); Map<String,String> map0 = null; for (Object[] e : pager.getList()) { map0=new HashMap<String, String>(); //在datagrid中显示的数据 map0.put("eid", String.valueOf(e[0])); map0.put("ename", String.valueOf(e[1])); map0.put("birthday", String.valueOf(e[3])); map0.put("hiredate", String.valueOf(e[6])); map0.put("jname", String.valueOf(e[5]));//职位 map0.put("dname", String.valueOf(e[4])); map0.put("status", String.valueOf(e[7])); //在datagrid中隐藏的数据(部门编号、职位编号、在职状态编号) map0.put("did", String.valueOf(e[8])); map0.put("jid", String.valueOf(e[9])); map0.put("jsid", String.valueOf(e[10])); list.add(map0); } //设置总行数,行数据。 Map<String,Object> map = new HashMap<String, Object>(); map.put("total", pager.getSumRows()); map.put("rows", list); //将map转换为json格式 String s = JSON.toJSONString(map); PrintWriter out = resp.getWriter(); out.println(s); }
二、编辑模型层
1.service
public Pager<Object[]> search(Empl empl,Job job,Dept dept,JobStatus jobStatus,int currId,int offset){ return emplDaoImpl.search(empl,job,dept,jobStatus,currId,offset); }
2.emplDaoImpl
//分页查询员工信息 public Pager<Object[]> search(Empl empl,Job job,Dept dept,JobStatus jobStatus,int currId,int offset) { List<Object> params=new ArrayList<>(); StringBuffer sql=new StringBuffer(); sql.append("SELECT A.*, ROWNUM RN from (select e.eid,e.ename,e.sex,to_char(e.birthday,'yyyy-mm-dd'),d.dname,j.jname,to_char(e.hiredate,'yyyy-mm-dd'),js.status, d.did,j.jid,js.jsid " + "from t_empl e,t_dept d,t_job j,t_jobstatus js " + "where e.deptno=d.did and e.job=j.jid and e.status=js.jsid and e.eid!="+currId+" and j.jname!='董事长'"); if(empl!=null){ if(empl.getEname()!=null&&!"".equals(empl.getEname().trim())){ sql.append(" and e.ename like ?"); params.add("%"+empl.getEname()+"%"); } } if(job!=null){ if(job.getJname()!=null&&!"请选择该用户所属职位".equals(job.getJname().trim())){ sql.append(" and j.jname like ?"); params.add("%"+job.getJname()+"%"); } } if(dept!=null){ if(dept.getDname()!=null&&!"请选择该用户所属部门".equals(dept.getDname().trim())){ sql.append(" and d.dname like ?"); params.add("%"+dept.getDname()+"%"); } } if(jobStatus!=null){ if(jobStatus.getStatus()!=null&&!"请选择该用户所属状态".equals(jobStatus.getStatus().trim())){ sql.append(" and js.status like ?"); params.add("%"+jobStatus.getStatus()+"%"); } } sql.append(" order by eid) A "); return listAsObjectArrayHaveParam(sql.toString(), offset, 10, params.toArray()); }
三、编辑jsp
<head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- 1.页面引入样式 --> <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/jquery-easyui-1.4.2/themes/metro/easyui.css"> <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/jquery-easyui-1.4.2/themes/icon.css"> <!-- 2.页面引入脚本 --> <script type="text/javascript"src="${pageContext.request.contextPath }/jquery-easyui-1.4.2/jquery-1.8.0.min.js"></script> <script type="text/javascript"src="${pageContext.request.contextPath }/jquery-easyui-1.4.2/jquery.easyui.min.js"></script> <script type="text/javascript"src="${pageContext.request.contextPath }/jquery-easyui-1.4.2/datagrid-detailview.js"></script> <script type="text/javascript" src="${pageContext.request.contextPath }/jquery-easyui-1.4.2/locale/easyui-lang-zh_CN.js"></script> <!-- 3.页面引入自定义脚本 --> <script type="text/javascript" src="${pageContext.request.contextPath }/js/userManager.js" ></script> <script type="text/javascript" src="${pageContext.request.contextPath }/js/validate.js" ></script> <!-- 4.页面引入其他脚本 --> <link href="${pageContext.request.contextPath }/myDatePicker_2.2/datePicker.css" type="text/css" rel="stylesheet" /> <script type="text/javascript" src="${pageContext.request.contextPath }/myDatePicker_2.2/jquery.datePicker-min.js"></script> <title>用户管理</title> <style type="text/css"> .dv-label{ font-weight: bolder; color:#15428B; } /*datagrid行高设置*/ .datagrid-btable tr{ height:30px; } </style> ... <form id="searchForm"> 员工姓名:<input type="text" id="ename" name="empl.ename"/> 职位:<select id="job" name="ajob.eid" class="easyui-combobox" panelHeight="auto" > <option value="-1">请选择该用户所属职位</option> <c:forEach items="${job }" var="v"> <option value="${v.jid}">${v.jname }</option> </c:forEach> </select> 所属部门:<select id="dept" name="adept.did" class="easyui-combobox" panelHeight="auto" > <option value="-1">请选择该用户所属部门</option> <c:forEach items="${dept }" var="v"> <option value="${v.did }">${v.dname }</option> </c:forEach> </select> 员工状态:<select id="jobStatus" name="ajobStatus.jsid" class="easyui-combobox" panelHeight="auto" > <option selected value="-1">请选择该用户所属状态</option> <c:forEach items="${jobStatus }" var="v"> <option value="${v.jsid }">${v.status }</option> </c:forEach> </select> <a id="search" href="#" class="easyui-linkbutton" iconCls="icon-ok">筛选</a> </form> ...
四、编辑js
//搜索的点击事件 $('#search').bind('click',function(){ //重载datagrid.注:1.会向控制器发送请求,请求地址为在datagrid指定的url。2.参数:向控制器发送请求时包含的数据,struts2会将它们封装成相应bean对象。 $('#dg').datagrid('load', { 'empl.ename':$('#ename').val(), 'ajob.jname':$('#job').combobox('getText'), 'adept.dname':$('#dept').combobox('getText'), 'ajobStatus.status':$('#jobStatus').combobox('getText') } ); //清空、还原搜索表单中的默认选项 $('#ename').val('') $('#job').combobox('setValue','-1') $('#dept').combobox('setValue','-1') $('#jobStatus').combobox('setValue','-1') })
大功告成,效果如下:
发表评论
-
easyui实现datagrid行内编辑
2015-10-02 02:21 7422easyui的datagrid行内编辑 ... -
struts2+easyui的datagrid显示列表信息
2015-10-02 01:22 2963easyui的datagrid主要用于显示列表信息,其中包含分 ... -
创建easyui-dialog实现增加/修改bean信息
2015-10-02 00:27 4289是否采用dialog增加/修改bean信息根据项目需求而定,一 ... -
easyui在datagrid中显示行详情(二)
2015-10-01 22:45 1431一、引用文件 注:1.datagrid-detailview. ... -
easyui在datagrid中显示行详情(一)
2015-09-30 13:34 7065一、页面引用 <!-- 1.页面引入样式 --> ...
相关推荐
功能说明: 环境说明: 开发软件:VS 2017 (版本2017以上即可,不能低于2017) 数据库:SqlServer2008r2(数据库版本无限制,都可以导入) 开发模式:mvc。。。
labview程序代码参考学习使用,希望对你有所帮助。
大米外贸商城系统 简称damishop 完全开源版,只需做一种语言一键开启全球133中语言自动翻译功能,价格实现自动汇率转换,集成微信支付宝 paypal以及国外主流支付方式,自带文章博客系统。 软件架构 基于MVC+语言包模式,增加控制台,API导入产品方便对接其他系统(带json示例数据)。 使用要求 PHP7.4+ MYSQL5.6+ REDIS(可选) 安装方法 composer install 打开安装向导安装 http://您的域名/install 特色 1、缓存层增加时间与批量like删除 2、API产品导入方便对接其他系统 3、增加控制台命令行,命令行生成语言翻译包 4、后台一键开启自动翻译模式,支持全球133中语言,由于google代理翻译需要收费,这个功能需要付费。 5、可选购物车与ajax修改购物车产品 6、一键结算checkout 7、增加网站前台自定义路由 方便seo 更新日志 v3.9.7 集成鱼码支付接口,方便个人站长即使收款到账使用 v3.9.3 更新内容 1:增加ueditor与旧编辑器切换 2:增加可视化布局插
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
毕设和企业适用springboot人工智能客服系统类及旅游规划平台源码+论文+视频