- 浏览: 25549 次
最新评论
根据不同条件或组合条件检索信息是很常用的需求,下面将在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 7416easyui的datagrid行内编辑 ... -
struts2+easyui的datagrid显示列表信息
2015-10-02 01:22 2952easyui的datagrid主要用于显示列表信息,其中包含分 ... -
创建easyui-dialog实现增加/修改bean信息
2015-10-02 00:27 4281是否采用dialog增加/修改bean信息根据项目需求而定,一 ... -
easyui在datagrid中显示行详情(二)
2015-10-01 22:45 1426一、引用文件 注:1.datagrid-detailview. ... -
easyui在datagrid中显示行详情(一)
2015-09-30 13:34 7052一、页面引用 <!-- 1.页面引入样式 --> ...
相关推荐
### Struts+Spring+Hibernate+EasyUI 学生信息管理系统详解 #### 一、系统概述与背景 在当今数字化时代,高效便捷的学生信息管理成为学校信息化建设的重要组成部分。本项目——“Struts+Spring+Hibernate+EasyUI ...
- **增删改操作**:在EasyUI的表格组件中,可以通过添加编辑和删除按钮,结合后端的Struts2 Action实现对数据的增删改操作。 - **数据导出**:后端可以使用Apache POI库来生成Excel文件,然后通过HTTP响应返回给...
标题 "Spring+Hibernate+Struts+ajax+jQuery easyUI" 提到的是一个经典的Java Web开发技术栈,这个组合被广泛用于构建复杂的企业级应用程序。让我们深入探讨这些技术及其相互作用。 1. **Spring**:Spring 是一个...
解压数据库脚本,根据`jdbc.properties`配置文件调整数据库连接信息,然后运行项目,即可体验到SSH+Shiro+EasyUI的完整功能。这个实战案例对于学习和理解Java Web开发流程、各组件间协作以及企业级应用的构建具有很...
Struts2是MVC(Model-View-Controller)设计模式的一个实现,用于处理用户请求并控制应用程序流程。Struts2.3.12版本包含了一些重要的增强,如性能优化、错误修复和对最新技术的支持。它提供了丰富的拦截器...
在本系统中,MySQL存储了校园宿舍管理的各种数据,如学生信息、宿舍分配、楼宇管理等,提供高效的数据存储和检索能力。Spring框架的集成使得数据库操作变得更加便捷和可控。 系统分为“系统管理员”和“楼宇管理”...
在本项目中,可能用于实现对用户、角色、权限等信息的快速检索,提升系统的查询效率和用户体验。 【EasyUI前端框架】 EasyUI是一个基于jQuery的UI组件库,提供了一系列美观的界面组件,如表格、下拉框、对话框等,...
使用EasyUI实现后台对商品分类、商品信息、用户信息、订单信息的管理,包括增删改查,文件上传等。 项目适用人群 正在做毕设的学生,或者需要项目实战练习的Java学习者 开发环境 jdk 8 intellij idea tomcat 8.5.40...
Struts2整合了Model、View和Controller,实现了请求驱动的页面跳转,提供了强大的Action类来处理业务逻辑,并通过Interceptor拦截器机制增强了灵活性和可扩展性。在本系统中,Struts2起到了承上启下的作用,接收前端...
这个系统结合了SSH2(Struts2、Spring、Hibernate)框架和EasyUI前端库,旨在提供一个高效且用户友好的图书信息管理和检索平台。下面将详细介绍这些关键技术点。 1. SSH2框架: - **Struts2**:这是一个用于构建...
同时,EasyUI的前端组件通过Ajax与Struts2的Action进行通信,展示和编辑由Hibernate从数据库检索的数据。 在实际项目中,"lib"目录下的所有Jar包包含了这些技术所需的类库,包括jQuery EasyUI的JavaScript和CSS文件...
【天华物流管理系统】采用Struts2+Spring+Hibernate+MySql+EasyUI,刘鸿羽在此项目中涉及需求调研、设计、数据库设计、系统开发和测试。他主要负责基础设置(如取派员设置、区域设置、管理定区)、权限管理和用户...
此“双鱼林SSH2_EasyUI图书管理系统 v1.0”源码的实现,可能包括以下几个主要部分: 1. 用户登录模块:使用Struts2处理HTTP请求,通过Spring管理用户会话,验证用户身份。 2. 图书管理模块:Hibernate2用于数据库...
4. 查询:支持按各种条件(如姓名、学号等)检索学生信息,结果以分页形式展示。 5. 分页:通过EasyUI的表格组件实现数据的分页加载,提高页面加载速度。 总结,这个学生管理系统采用了一套成熟的Java Web开发技术...
标题中的“人工智能-项目实践-信息检索-需求征集系统”表明这是一个基于人工智能技术,用于信息检索和需求收集的系统项目。SSH、Jackson和EasyUI框架的提及,揭示了该系统的技术栈,主要由Spring、Struts和Hibernate...
2. **汽车出租管理系统**:该项目采用B/S架构,SSM(Spring、Struts2、Mybatis)框架,实现了汽车出租业务和内部员工用车管理。工程师负责了信息管理和汽车出租模块,包括客户验证、汽车选择、出租单生成等功能。他...
ItemManageAction 类是基于 Struts2 框架的一个控制器,用于处理与 Easyui Combobox 相关的动态数据级联请求。这个类的主要功能包括: 1. **Categorytbl 方法**: 这个方法用于获取一级分类(栏目)的数据。`...
- **新时速物流系统**:使用jQuery EasyUI前端框架,实现公共信息、取派、中转业务和路由管理等功能。通过自定义拦截器进行权限控制,整合SSH框架处理大量业务数据,使用SVN进行版本控制,PowerDesigner做模型设计...
Struts是另一种Java Web框架,主要用于 MVC(Model-View-Controller)设计模式的实现。它在系统中扮演着控制器的角色,接收HTTP请求,调用相应的业务逻辑,然后将结果传递给视图进行展示。在这个系统中,Struts可能...