<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<!-- 、JQuery的js包 -->
<script type="text/javascript" src="jquery-easyui-1.4.4/jquery.min.js"></script>
<!-- css资源 -->
<link rel="stylesheet" type="text/css" href="jquery-easyui-1.4.4/themes/default/easyui.css">
<!-- 、图标资源 -->
<link rel="stylesheet" type="text/css" href="jquery-easyui-1.4.4/themes/icon.css">
<!-- 、easyui的js包 -->
<script type="text/javascript" src="jquery-easyui-1.4.4/jquery.easyui.min.js"></script> <!-- 、本地语言 -->
<script type="text/javascript" src="jquery-easyui-1.4.4/locale/easyui-lang-zh_CN.js"></script>
</head>
<body>
<script type="text/javascript">
//把long型的日期格式转成yyyy-MM-dd格式
function getDate(date)
{
//得到日期对象
var d=new Date(date);
//得到年月日
var year =d.getFullYear();
var month=(d.getMonth()+);
var day= d.getDate();
var rtn=year+"-"+(month<?""+month:month)+"-"+(day<?""+day:day); return rtn;
} var type="add"; $(function(){
//创建data_grid
$("#st").datagrid({ url:'StudentServlet', //数据来源
//冻结列
//列的定义
columns:[[
{field:'idd',checkbox:true},
{field:'sno',title:'学生编号',width:},
{field:'sname',title:'学生姓名',width:},
{field:'ssex',title:'性别',width:,align:'right'},
{field:'sbirthday',title:'生日',width:,align:'center',
formatter: function (value, row, index) {
if(value && value!= "")
{
//var val = new Date(value); //return val.toLocaleDateString(); return getDate(value) }
else
{
return "";
}
} }, {field:'sclass',title:'班级',width:,align:'right'}
]], fitColumns:true,//列自适应宽度,不能和冻结列同时设置为true
striped:true,//斑马线效果
idField:'sno',//主键列
rownumbers:true,//显示行号
singleSelect:false,//是否单选
pagination:true,//显示分页栏
pageList:[,,,],//每页行数选择列表
pageSize:,//出事每页行数
remoteSort:true,//是否服务器端排序,设成false,才能客户端排序
sortName:'sno',//设置排序列
sortOrder:'desc',//排序方式
toolbar:[{iconCls:'icon-search',text:'查询',handler:function(){
//序列化查询表单
var f=$("#form2").serialize();
//alert(f); $("#st").datagrid({url:"StudentServlet?"+f}).datagrid('load'); }},{iconCls:'icon-add',text:'添加',handler:function(){ type="add";
//清楚表单的旧数据
$("#sno").textbox({readonly:false});
$("#form1").form("reset");
$("#saveStu").dialog('open'); }},{iconCls:'icon-edit',text:'修改',handler:function(){ type="edit";
//判断是否选中一条记录
var data=$('#st').datagrid('getSelected');
if(data)
{
//alert(data);
//设置主键字段只读
$("#sno").textbox({readonly:true}); $("#form1").form("reset");
$('#form1').form('load',{sno:data.sno,
sname:data.sname,ssex:data.ssex,sbirthday:getDate(data.sbirthday),
sclass:data.sclass
});
//没有databox可以使用
//$('#form1').form('load',data);
$("#saveStu").dialog({title:'修改学生'}).dialog('open'); }
else
{
$.messager.show({title:'提示',msg:'请选中一条记录'});
} }},{iconCls:'icon-remove',text:'删除',handler:function(){ var data=$('#st').datagrid('getSelections'); if(data.length>)
{
//alert("选中条数="+data.length);
$.messager.confirm("确认","确实要删除吗?",function(r){
if(r)
{
//alert("执行删除sno="+data[0].sno);
//$.get("DeleteStudentServlet?sno="+data[0].sno,
//利用数组,保存选中记录的主键
var snos=[];
for(var i=;i<data.length;i++)
{
snos[i]=data[i].sno;
} $.get("DeleteStudentServlet?snos="+snos,
function(rtn){
var msg=eval("("+rtn+")");
if(msg.success)
{
$('#st').datagrid('reload');
}
$.messager.show({title:"提示",msg:msg.message}); }); }
}); }
else
{
$.messager.show({title:'提示',msg:'请至少选中一条记录'});
} }}]
});
}) </script>
<div id="search" class="easyui-panel" title="查询条件"
data-options="{iconCls:'icon-search',collapsible:true}" style="height:80px;">
<form id="form2" >
<br>
名称:<input class="easyui-textbox" id="sname_s" name="sname_s"> 班级:<input class="easyui-textbox" id="sclass_s" name="sclass_s">
</form> </div>
<table id="st"></table>
<div class="easyui-dialog" id="saveStu" style="width:400px;height:300px;"
title="添加学生" data-options="{closed:true,modal:true,
buttons:[{text:'保存',iconCls:'icon-save',handler:function(){
$('#form1').form('submit',{
url:'SaveStudentServlet?type='+type,
onSubmit:function(){
var isValid = $(this).form('validate'); if (!isValid){
$.messager.show({
title:'消息',
msg:'数据验证未通过'
});
}
return isValid;
},
success:function(data){
var msg=eval('(' +data+ ')');
if(!msg.success)
{
$.messager.show({title:'提示',msg:msg.message});
}
else
{
$('#st').datagrid('reload');
$.messager.show({title:'提示',msg:msg.message});
$('#saveStu').dialog('close');
}
} });
}},
{text:'取消',iconCls:'icon-cancel',handler:function(){$('#saveStu').dialog('close')}}]}"
>
<form action="" id="form1" method="post">
<br><br>
<table border="" width="100%">
<tr>
<td align="right" width="30%">学号:</td>
<td><input class="easyui-textbox" id="sno" name="sno" data-options="{required:true,validType:'length[3,3]'}"></td>
</tr>
<tr>
<td align="right" width="30%">名称:</td>
<td><input class="easyui-textbox" id="sname" name="sname" data-options="{required:true,validType:'length[2,4]'}"></td>
</tr>
<tr>
<td align="right" width="30%">性别:</td>
<td><input type="radio" name="ssex" value="男" checked="checked">男<input type="radio" name="ssex" value="女" >女</td>
</tr>
<tr>
<td align="right" width="30%">生日:</td>
<td><input class="easyui-datebox" id="sbirthday" name="sbirthday"></td>
</tr>
<tr>
<td align="right" width="30%">班级:</td>
<td><input class="easyui-textbox" id="sclass" name="sclass" data-options="{validType:'length[2,5]'}"></td>
</tr>
</table> </form> </div> </body>
</html>

package com.hanqi.web;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.hanqi.service.StudentService; /**
* Servlet implementation class StudentServlet
*/
public class StudentServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public StudentServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html"); String spage=request.getParameter("page");
String srows=request.getParameter("rows"); String sort=request.getParameter("sort");
String order=request.getParameter("order"); String sname_s=request.getParameter("sname_s");
if(sname_s!=null)
{
sname_s=new String(sname_s.getBytes("ISO-8859-1"),"UTF-8");
}
String sclass_s=request.getParameter("sclass_s");
if(sclass_s!=null)
{
sclass_s=new String(sclass_s.getBytes("ISO-8859-1"),"UTF-8");
}
if(spage!=null&& srows!=null)
{
int page=Integer.parseInt(spage);
int rows=Integer.parseInt(srows);
Map<String, String> where= new HashMap<String, String>(); where.put("sname_s", sname_s); where.put("sclass_s", sclass_s);
String ls="";
if(sort!=null&&order!=null)
{
ls=sort+" "+order;
}
String json =new StudentService().getPageJSON(page, rows,ls,where); response.getWriter().print(json); }
else
{
response.getWriter().print( "{'title':0,'rows':[]}");
} } /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }
package com.hanqi.web;

import java.io.IOException;
import java.text.SimpleDateFormat; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.hanqi.entity.Student;
import com.hanqi.service.StudentService; /**
* Servlet implementation class SaveStudentServlet
*/
public class SaveStudentServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public SaveStudentServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
String sno=request.getParameter("sno");
String sname=request.getParameter("sname");
String ssex=request.getParameter("ssex");
String sbirthday=request.getParameter("sbirthday");
String sclass=request.getParameter("sclass");
//接受参数 表示添加或修改 String type=request.getParameter("type"); if(sno!=null && type!=null)
{
String msg="{'success':true,'message':'保存成功'}";
try
{
Student stu=new Student();
stu.setSno(sno);
stu.setSclass(sclass);
stu.setSname(sname);
stu.setSsex(ssex);
if(sbirthday!=null&&!sbirthday.trim().equals(""))
{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
stu.setSbirthday(sdf.parse(sbirthday));
}
if(type.equals("add"))
{
new StudentService().addStudent(stu);
}
else
{
new StudentService().editStudent(stu);
}
}
catch(Exception e)
{
msg="{'success':false,'message':'保存不成功,数据异常"+e.getMessage()+"'}";
} response.getWriter().print(msg);
}
else
{
String msg="{'success':false,'message':访问异常}"; response.getWriter().print(msg);
} } /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }
package com.hanqi.web;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.hanqi.service.StudentService; /**
* Servlet implementation class DeleteStudentServlet
*/
public class DeleteStudentServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public DeleteStudentServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
String snos=request.getParameter("snos");
System.out.println("1231231312312#####"+snos); if(snos!=null)
{
String msg="{'success':true,'message':'删除成功'}";
try
{
String[] sno=snos.split(",");
for(String s:sno)
{
new StudentService().deleteStudent(s);
} }
catch(Exception e)
{
msg="{'success':false,'message':'删除不成功,数据异常"+e.getMessage()+"'}";
}
response.getWriter().print(msg);
}
else
{ String msg="{'success':false,'message':'访问异常'}"; response.getWriter().print(msg);
} } /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }

service层

package com.hanqi.service;

import java.util.List;
import java.util.Map; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.hanqi.dao.StudentDAO;
import com.hanqi.entity.Student; public class StudentService { //保存
public void addStudent(Student stu)
{
new StudentDAO().insert(stu);
}
//修改
public void editStudent(Student stu)
{
new StudentDAO().update(stu);
}
//删除
public void deleteStudent(String sno)
{
new StudentDAO().delete(sno);
} //查询分页数据
//返回JSON
public String getPageJSON(int page,int rows,String sort,Map<String, String>where)
{
PageJSON<Student> pj=new PageJSON<>(); String rtn=JSONObject.toJSONString(pj);//"{'title':0,'rows':[]}"; int total=new StudentDAO().getTotal(where);
if(total>)
{
List<Student>ls= new StudentDAO().getPageList(page, rows, sort, where); //String ls_json=JSONArray.toJSONString(ls);
//利用转义字符转成JSON格式的语句
//rtn="{\"total\":"+total+",\"rows\":"+ls_json+"}";
pj.setTotal(total);
pj.setRows(ls);
rtn=JSONObject.toJSONString(pj); }
return rtn;
} }

建一个类来封装JSON格式:

package com.hanqi.service;

import java.util.ArrayList;
import java.util.List; public class PageJSON<T> {
//封装Json数据格式
private int total=; private List<T> rows= new ArrayList<T>(); public int getTotal() {
return total;
} public void setTotal(int total) {
this.total = total;
} public List<T> getRows() {
return rows;
} public void setRows(List<T> rows) {
this.rows = rows;
} }
package com.hanqi.dao;

import java.util.ArrayList;
import java.util.List;
import java.util.Map; import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry; import com.hanqi.entity.Student; public class StudentDAO { ServiceRegistry sr=null;
Configuration cfg=null;
SessionFactory sf=null;
Session se=null;
Transaction tr=null; public StudentDAO()
{
cfg=new Configuration().configure(); sr=new StandardServiceRegistryBuilder()
.applySettings(cfg.getProperties()).build(); }
//初始化
private void init()
{ sf=cfg.buildSessionFactory(sr);
se=sf.openSession();
tr=se.beginTransaction();
}
//提交和释放资源
private void destory()
{
tr.commit();
se.close();
sf.close();
}
//添加数据的方法
public void insert(Student stu)
{
init();
se.save(stu);
destory();
}
//修改数据的方法
public void update(Student stu)
{
init();
se.update(stu);
destory();
}
//删除数据的方法
public void delete(String sno)
{
init();
//Student stu=(Student)se.get(Student.class, sno);
//se.delete(stu);
//HQL方式执行删除
se.createQuery("delete Student where sno=?").setString(, sno).executeUpdate(); destory();
}
//获取分页的数据集合
public List<Student> getPageList(int page,int rows,String sort,Map<String, String>where )
{
List<Student> rtn=new ArrayList<Student>();
int num=(page-)*rows;
init();
String sql="from Student where 1=1";
String sname=where.get("sname_s");
if(sname!=null&&!sname.equals(""))
{
sql+="and sname=:sname";
}
String sclass=where.get("sclass_s");
if(sclass!=null&&!sclass.equals(""))
{
sql+=" and sclass=:sclass";
}
//排序
if(sort!=null&&!sort.equals(""))
{
sql+=" order by "+sort;
}
Query q=se.createQuery(sql);
if(sname!=null&&!sname.equals(""))
{
q.setString("sname", sname);
}
if(sclass!=null&&!sclass.equals(""))
{
q.setString("sclass", sclass);;
} rtn=q.setFirstResult(num).
setMaxResults(rows).list();
destory();
return rtn;
} //获取数据条数
public int getTotal(Map<String, String>where)
{
int rtn=;
init();
String sql="select count(1) from Student where 1=1";
String sname=where.get("sname_s");
if(sname!=null&&!sname.equals(""))
{
sql+="and sname=:sname";
}
String sclass=where.get("sclass_s");
if(sclass!=null&&!sclass.equals(""))
{
sql+=" and sclass=:sclass";
}
Query q=se.createQuery(sql);
if(sname!=null&&!sname.equals(""))
{
q.setString("sname", sname);
}
if(sclass!=null&&!sclass.equals(""))
{
q.setString("sclass", sclass);;
} List<Object>lo=q.list();
if(lo!=null&&lo.size()>)
{
rtn=Integer.parseInt(lo.get().toString());
} destory();
return rtn;
} }

easyui表格的增删改查的更多相关文章

  1. jQuery EasyUI/TopJUI实现数据表格的增删改查功能(不写js,纯HTML实现!!!)

    jQuery EasyUI/TopJUI实现数据表格的增删改查功能(不写js,纯HTML实现!!!) 废话不多说,直接贴上代码 <table id="configEdatagrid&q ...

  2. SQL server 创建 修改表格 及表格基本增删改查 及 高级查询 及 (数学、字符串、日期时间)函数[转]

    SQL server 创建 修改表格 及表格基本增删改查 及 高级查询 及 (数学.字符串.日期时间)函数   --创建表格 create table aa ( UserName varchar(50 ...

  3. js实现表格的增删改查

    这份代码实现了对表格的增加,删除,更改,查询. 点击一次添加按钮,表格会增加一行. 点击重置按钮,输入框的内容会被清空. 添加一行后,最后两格为更改和删除.点击更改,原有内容会各自显示在一个输入框内, ...

  4. 用AngularJS实现对表格的增删改查(仅限前端)

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  5. 基于AT UI实现表格的增删改查遇到的坑

    基于AT UI实现表格的增删改查遇到的坑 坑一.表格数据加载的渲染报错 报错:Error in render: "TypeError: Cannot read property 'isChe ...

  6. 【原生】js实现表格的增删改查

    说在前面的,写给小白白的,大神请绕道~ 今天用原生js写一下动态表格的增删改查,主要是熟悉一下js的DOM操作. 首先,做一个表格,用来显示提交的数据,如图下: 此处,我添加了编号.姓名.密码.生日. ...

  7. 快速开发平台WebBuilder中ExtJS表格的增删改查

    使用WebBuilder可实现表格的自动增删改查功能,而无需编写前台脚本和后台SQL. WebBuilder开源项目地址:http://www.putdb.com 自动生成的页面: <!DOCT ...

  8. easyui+nodejs+sqlserver增删改查实现

    用到的模块或者技术: Express: http://www.expressjs.com.cn/4x/api.html#express Easyui: http://www.jeasyui.com/d ...

  9. Angularjs中表格的增删改查

    在一个管理系统中,不外乎都是增删改查.现在比如有个表格,我想修改当前行的数据,如下图所示 一点击修改的时候,当前页面我需要修改的数据,变成能修改的样式,点击保存能保存当前修改的数据,如下图所示 需要引 ...

随机推荐

  1. ABP(现代ASP.NET样板开发框架)系列之18、ABP应用层——权限验证

    点这里进入ABP系列文章总目录 ABP(现代ASP.NET样板开发框架)系列之18.ABP应用层——权限验证 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目 ...

  2. 基于HTTP的断点传输

    最近项目需要做一个类似于迅雷的文件下载功能,这类需求可能比较常见,希望可以帮助到有需要的同学 要求: 1.支持断点传输 2. 多文件同时下载 3. 由于是客户内部试用,服务器只支持HTTP文件下载不支 ...

  3. ECS Linux 服务器解除ssh登陆后被锁定或暂停输入输出的终端

    在使用SSH终端(如Xshell)登陆时,若不慎点击 Ctrl + S  按键,会导致终端很像被锁定,输入和输出都无响应. 这是由于操作系统的终端收到指令 Ctrl + S 后,会暂停终端输入输出的刷 ...

  4. Windows 批处理

    1. 引言     在Windows上,经常需要做一些重复的工作.比如在不同的工作场所需要切换不同的ip:比如有时需要对一堆文件按1~n进行重命名:再比如我们需要删除一大堆文件,这些文件名字都差不多, ...

  5. HTML自定义对象与属性(谷歌,火狐,IE9浏览器没问题)

    1.自定义标签 <zqz>asdas</zqz> <style> zqz{ color:red; } </style> 页面变色 2.自定义标签的hov ...

  6. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  7. 你真的会玩SQL吗?三范式、数据完整性

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  8. OWIN与Katana详解

    前言 我胡汉三又回来了,!!!!, 最近忙成狗,实在没空写博文,实在对不起自己,博客园上逛了逛发现 我大微软还是很给力的 asp.net core 1.0 .net core 1.0 即将发布,虽然. ...

  9. 使用PowerShell 监控运行时间和连接情况

    概念 Powershell 是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境.你可以把它看成是命令行提示符cmd.exe的扩充,不对,应当是颠覆. powershell需要.N ...

  10. 使用backbone的history管理SPA应用的url

    本文介绍如何使用backbone的history模块实现SPA应用里面的URL管理.SPA应用的核心在于使用无刷新的方式更改url,从而引发页面内容的改变.从实现上来看,url的管理和页面内容的管理是 ...