easyDemo3.jsp代码如下: <h2>datagrid入门之四</h2> <table id="tt"> </table> <div id="query" class="easyui-window" title="查询" style="padding: 10px;width: 360px;height:100;" iconCls="icon-search" closed="true" maximizable="false" minimizable="false" collapsible="false"> <div> <table> <tr> <td> <select name="select" id="ss"> <option value="id">学号</option> <option value="name">姓名</option> <option value="qq">QQ</option> </select> </td> <td><input type="text" name="id" id="qq" required="true"></td> <td><a class="easyui-linkbutton" iconCls="icon-search" href="javascript:void(0);" onclick="query()">查询</a></td> </tr> </table> </div> </div>
easyInfo.js代码如下:
$(function(){ $('#tt').datagrid({ title:'CRUD小例子', iconCls:'icon-ok', width:650, height:350, pageSize:5, pageList:[5,10,15,20], striped: true, collapsible:true, url:'stuInfo.action', singleSelect:true, columns:[[ {field:'id',title:'学号',width:50,rowspan:2,align:'center',editor:'numberbox'}, {field:'name',title:'姓名',width:50,rowspan:2,align:'center',editor:'text'}, {field:'email',title:'邮箱',width:120,rowspan:2,align:'center',editor:{ type:'validatebox', options:{ validType:'email' } }}, {field:'qq',title:'QQ',width:80,rowspan:2,align:'center',editor:'numberbox'}, {field:'birthday',title:'出生日期',width:120,rowspan:2,align:'center',editor:{ type:'datebox', }}, {field:'address',title:'居住地',width:70,rowspan:2,align:'center',editor:'text'}, {field:'operator',title:'操作列',width:70,rowspan:2,align:'center', formatter:function(value,row,index){ if(row.editing){ var s ='<a href="javascript:void(0);" onclick="saveRow('+index+')" style="text-decoration: none;color: #800080;">保存</a> '; var c ='<a href="javascript:void(0);" onclick="cancelRow('+index+')" style="text-decoration: none;color: #800080;">取消</a>'; return s+c; }else{ var e = '<a href="javascript:void(0);" onclick="editRow('+index+')" style="text-decoration: none;color: #800080;">编辑</a> '; var d = '<a href="javascript:void(0);" onclick="deleteRow('+index+')" style="text-decoration: none;color: #800080;">删除</a>'; return e+d; } } } ]], pagination:true, rownumbers:true, toolbar:[{ text:'增加', iconCls:'icon-add', handler:addRow },'-',{ text:'查询', iconCls:'icon-search', handler:function(){ $('#query').window('open'); } } ], onBeforeEdit:function(index,row){ row.editing = true; $('#tt').datagrid('refreshRow',index); count++; }, onAfterEdit:function(index,row){ row.editing = true; $('#tt').datagrid('refreshRow',index); count--; }, onCancelEdit:function(index,row){ row.editing = false; $('#tt').datagrid('refreshRow',index); count--; } }); }); var count = 0; function editRow(index){ $('#tt').datagrid('beginEdit',index); } function deleteRow(index){ var selected = $('#tt').datagrid('getSelected'); if(selected){ $.messager.confirm('删除','确认删除吗?',function(d){ if(d){ /*将数据删除 * $('#tt').datagrid('deleteRow',index); * */ $.ajax({ type:"POST", url:"delInfo.action", data:"id="+selected.id, success:function(){} }); $('#tt').datagrid('reload'); } }); } } function saveRow(index){ $('#tt').datagrid('endEdit',index); /* * 将数据保存到数据库 * */ var select = $('#tt').datagrid('getSelected'); var arr =new Array(); //将信息保存在数组中 arr[0]= select.id; arr[1]= select.name; arr[2]= select.email; arr[3]= select.qq; arr[4]= select.birthday; arr[5]=select.address; if(select){ $.ajax({ type:'POST', url:'queryId.action', data:'id='+select.id, success:function(data){ if(data=='0'){ $.messager.alert('error','学号'+select.id+'已存在,请重新编辑','error',function(){ $('#tt').datagrid('beginEdit', index); }); }else{ save(arr,index); } } }); } } function cancelRow(index){ $('#tt').datagrid('cancelEdit',index); } function addRow(){ if(count>0){ $.messager.alert('warning','当前还有'+count+'记录正在编辑,请保存','warning'); return ; }else{ $('#tt').datagrid('appendRow',{ id:'', name:'', email:'', qq:'', birthday:'', address:'', action:'' }); } var lastIndex = $('#tt').datagrid('getRows').length-1; $('#tt').datagrid('beginEdit', lastIndex); } function save(arr,index){ $.ajax({ type:'POST', url:'saveInfo.action', data:'arr='+arr, success:function(data){ if(data){ $.messager.alert('warning',data,'warning',function(){ $('#tt').datagrid('beginEdit', index); }) }else{ $('#tt').datagrid('reload'); } } }); } function query(){ var queryParams = $('#tt').datagrid('options').queryParams; queryParams.queryWord = $('#qq').val(); queryParams.queryType = $('#ss').val(); $('#tt').datagrid({ url:'queryInfo.action' }); $('#query').window('close'); }
Action层 StudentInfoAction.java代码如下: package org.easyui;
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import org.easyui.dao.EasyDao; import org.easyui.dao.EasyDaoImpl; import org.easyui.model.StudentInfo;
import com.opensymphony.xwork2.ActionSupport;
public class StudentInfoAction extends ActionSupport implements ServletRequestAware,ServletResponseAware {
private static final long serialVersionUID = -4583025314633553684L; private HttpServletRequest request; private HttpServletResponse response; private static EasyDao dao = new EasyDaoImpl(); private int total; private List<Object> rows; public int getTotal() { return total; } public List<Object> getRows() { return rows; } public void setTotal(int total) { this.total = total; } public void setRows(List<Object> rows) { this.rows = rows; } public void setServletRequest(HttpServletRequest request) { this.request = request; } @Override public String execute() throws Exception { return super.execute(); } public String list(){ int page = Integer.parseInt(request.getParameter("page")); int pageSize =Integer.parseInt(request.getParameter("rows")); this.total = dao.getStuTotal(); this.rows = new ArrayList<Object>(); List<StudentInfo> stus = dao.getStuInfo(page, pageSize); for(StudentInfo stu:stus){ Map<String,Object> map = new HashMap<String, Object>(); map.put("id", stu.getId()); map.put("name", stu.getName()); map.put("email", stu.getEmail()); map.put("qq",stu.getQq()); map.put("birthday", stu.getBirthday()); map.put("address", stu.getAddress()); this.rows.add(map); } return SUCCESS; } public String queryStuInfo(){ String type = request.getParameter("queryType"); String keyword = request.getParameter("queryWord"); System.out.println(type+" "+keyword); this.total = dao.getStuTotal(type, keyword); List<StudentInfo> stus = dao.queryStuInfo(type, keyword); this.rows = new ArrayList<Object>(); for(StudentInfo stu:stus){ Map<String,Object> map = new HashMap<String, Object>(); map.put("id", stu.getId()); map.put("name", stu.getName()); map.put("email", stu.getEmail()); map.put("qq",stu.getQq()); map.put("birthday", stu.getBirthday()); map.put("address", stu.getAddress()); this.rows.add(map); } return SUCCESS; } public void setServletResponse(HttpServletResponse response) { this.response = response; } }
EasyuiCRUD.java代码如下: package org.easyui;
import java.io.IOException; import java.util.Date; import java.text.ParseException; import java.text.SimpleDateFormat;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import org.easyui.dao.EasyDao; import org.easyui.dao.EasyDaoImpl; import org.easyui.model.Student; import org.easyui.model.StudentInfo;
import com.opensymphony.xwork2.ActionSupport;
public class EasyuiCRUD extends ActionSupport implements ServletRequestAware,ServletResponseAware { /** * */ private static final long serialVersionUID = 1L; private HttpServletRequest request; private HttpServletResponse response; private static EasyDao dao = new EasyDaoImpl(); public void setServletRequest(HttpServletRequest request) { this.request = request; } @Override public String execute() throws Exception { return SUCCESS; } public String addInfo() throws IOException{ String name = request.getParameter("name"); int age = Integer.parseInt(request.getParameter("age")); String sex = request.getParameter("sex"); String birthday = request.getParameter("birthday"); String className = request.getParameter("className");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Student student = new Student(); student.setName(name); student.setAge(age); student.setSex(sex.toCharArray()[0]); student.setClassName(className); try { student.setBirthday(sdf.parse(birthday)); } catch (ParseException e) { e.printStackTrace(); } dao.addStudent(student); return SUCCESS; } public String delInfo(){ String id = request.getParameter("id"); dao.del(Integer.parseInt(id)); return null; } public String updateInfo(){ String id = request.getParameter("id"); String name = request.getParameter("name"); int age = Integer.parseInt(request.getParameter("age")); String sex = request.getParameter("sex"); String birthday = request.getParameter("birthday"); String className = request.getParameter("className");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Student student = new Student(); student.setId(Integer.parseInt(id)); student.setName(name); student.setAge(age); student.setSex(sex.toCharArray()[0]); student.setClassName(className); try { student.setBirthday(sdf.parse(birthday)); } catch (ParseException e) { e.printStackTrace(); } dao.updateStudent(student); return SUCCESS; } public String queryId() throws IOException{ int id =Integer.parseInt(request.getParameter("id")); if(dao.queryId(id)){ response.getWriter().print("0"); }else{ response.getWriter().print("1"); } return null; } public String saveInfo() throws ParseException, IOException{ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); String[] arr =request.getParameterValues("arr"); String[] b = arr[0].split(","); if(b.length>5){ int id = Integer.parseInt(b[0]); String name = b[1]; String email = b[2]; int qq =Integer.parseInt(b[3]); Date birthday = sdf.parse(b[4]); String address = b[5]; StudentInfo stu = new StudentInfo(); stu.setId(id); stu.setName(name); stu.setEmail(email); stu.setBirthday(birthday); stu.setQq(qq); stu.setAddress(address); dao.addStudentInfo(stu); }else{ response.setContentType("text/html;charset=utf-8"); response.getWriter().print("请将信息输入完整"); } return null; } public String delStudentInfo(){ int id = Integer.parseInt(request.getParameter("id")); dao.delInfo(id); return null; } public void setServletResponse(HttpServletResponse response) { this.response = response; } }
|
|
相关推荐
EasyUI 是一个基于 jQuery 的前端框架,用于快速开发简洁、美观、可交互的网页应用。它提供了丰富的组件,包括布局、表格、对话框、菜单、表单、按钮等,极大地简化了网页界面的构建过程。在"jquery-easyui-1.5.2....
5. **数据绑定**:与后端数据源紧密结合,通过简单的配置即可实现数据的增删改查操作,减轻了前后端交互的复杂性。 二、jQuery EasyUI 主要组件详解: 1. **Dialog**:弹出对话框,用于展示独立的内容,支持拖动、...
**jQuery EasyUI 知识点详解** jQuery EasyUI 是一个基于 jQuery 的前端框架,它提供了一系列的 UI 组件,使得开发者能够快速构建出美观且功能丰富的 Web 应用程序。这个框架大大简化了网页界面的设计工作,使得...
2. **链式操作**:jQuery对象返回的是jQuery实例,可以连续调用多个方法,如`$("#element").hide().fadeIn(1000)`,先隐藏元素,然后渐显,两个操作之间无需创建新的jQuery对象。 3. **DOM操作**:jQuery提供了便利...
2.jQuery and jQuery UI Reference 1.2 API.zip; 3.jQuery UI 1.9带给我们的惊喜.zip; 4.jQuery.ui.docs.rar; 5.jquery-easyui-1.0.5.zip; 6.jquery-easyui-1.2.ZIP; 7.jQuery-easyui-docs.rar; 8.jquery-ui-...
2. `after()`和`before()`用于在元素外部插入,它们分别在元素之后和之前添加内容。例如,`$("#element").after("新内容</p>")`会在选中元素后面插入文本,`before()`则是相反的操作。 3. `prepend()`和`prependTo...
2. **CSS定位**:行冻结的核心是通过CSS来实现视觉上的“冻结”。利用`position: fixed`属性可以使元素相对于浏览器窗口定位,即使页面滚动也不会移动。然而,这会导致元素与表格其余部分的相对位置关系发生变化,...
jquery 最新未压缩版本。版本号:3.4.1 。 jQuery是一个快速,小型且功能丰富的JavaScript库。借助易于使用的API(可在多种浏览器中使用),使HTML文档的遍历和操作,事件处理,动画和Ajax等事情变得更加简单。
jQuery 是一个广泛使用的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画制作以及Ajax交互。在“jQuery-ajax.rar”这个压缩包中,我们很显然会涉及到使用jQuery进行AJAX(Asynchronous JavaScript...
我们可以创建一个新的构造函数,如`MyJQObject`,并返回它的实例: ```javascript function MyJQObject(elements) { this.elements = elements || []; } MyJQObject.prototype = { // 在这里添加类似jQuery的...
本主题聚焦于使用dtree与jQuery库动态实现无限层级的树形菜单,并涵盖增删改查的基本功能。dtree是一款基于jQuery的插件,它提供了丰富的API和灵活的配置选项,使得在网页上创建交互式树形菜单变得简单易行。 首先...
jQuery EasyUI 是一个基于 jQuery 的轻量级前端框架,它为开发者提供了丰富的组件和便捷的API,用于构建功能丰富的Web应用程序。在EasyUI中,图标是界面设计的重要元素,能够帮助用户快速识别和理解功能。"jquery ...
在这个"jQuery拖动实例(25种实例)"中,我们将探讨如何利用jQuery实现类似Google应用中的拖放效果。拖放功能在现代网页设计中非常常见,比如在文件管理、日历应用或者界面元素布局中都有其身影。 首先,jQuery的...
top: e.pageY - $('#zoomed').height() / 2, left: e.pageX - $('#zoomed').width() / 2 }); }); // 鼠标离开时,隐藏放大图 $('#zoomed').mouseleave(function() { $(this).addClass('hidden'); }); }); `...
- 模块化开发是将复杂项目拆分为可重用、可独立测试的组件,有利于代码的维护和扩展。在JavaScript中,我们可以使用CommonJS(如Node.js环境)、AMD(异步模块定义,如RequireJS)或ES6的模块语法(import/export)...
在"jQuery的表格布局"这个主题中,我们主要关注的是如何利用jQuery和相关技术来创建动态、响应式的表格布局,特别是通过AJAX实现无刷新的数据加载和更新。 首先,表格布局在网页设计中扮演着重要的角色,它用于展示...
jQuery是一款简化前端开发,对js的优化.使js书写更加简便,提高开发效率.为了避免大家有时候找不到相关资源,特分享出来,供大家使用.
《jQuery 3.3.1:JavaScript库的基石》 jQuery,这个小巧而强大的JavaScript库,自2006年发布以来,一直是Web开发...无论是在大型项目还是小型应用中,jQuery都扮演着不可或缺的角色,为现代Web开发带来了极大的便利。
总结了一下对table的增删改查,写一篇留着以后自己recode。 1.首先我自己写了一个简单的div布局。 2.实现几个用标签做的按钮的功能 分别是新增 修改 删除 查询和返回。 代码如下 html+css(原谅我写在一起吧。。...
《锋利的jQuery实例》是一本专注于jQuery实践应用的教程,旨在帮助开发者深入理解和熟练运用jQuery库进行网页交互设计。jQuery是一个广泛使用的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画...