- 浏览: 214133 次
- 性别:
- 来自: 深圳
文章分类
最新评论
index.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>this is my first Extjs Demo...</title> <!-- ext-all --> <link rel="stylesheet" type="text/css" href="./extjs-3.0/resources/css/ext-all.css" mce_href="extjs-3.0/resources/css/ext-all.css" /> <!-- ext-base、ext-all、ext-lang-zh_CN--> <mce:script type="text/javascript" src="./extjs-3.0/adapter/ext/ext-base.js" mce_src="extjs-3.0/adapter/ext/ext-base.js" charset="utf-8"></mce:script> <mce:script type="text/javascript" src="./extjs-3.0/ext-all.js" mce_src="extjs-3.0/ext-all.js" charset="utf-8"></mce:script> <mce:script type="text/javascript" src="./extjs-3.0/source/locale/ext-lang-zh_CN.js" mce_src="extjs-3.0/source/locale/ext-lang-zh_CN.js" charset="utf-8"></mce:script> <mce:script type="text/javascript" src="./extjs-3.0/ext-all-debug.js" mce_src="extjs-3.0/ext-all-debug.js" charset="utf-8"></mce:script> <mce:script type="text/javascript"><!-- Ext.onReady(function(){ Ext.BLANK_IMAGE_URL = 'extjs/resources/images/default/s.gif'; Ext.QuickTips.init(); //fields var fields = Ext.data.Record.create([ {name: 'id', type: 'int' }, {name: 'name', type: 'string'}, {name: 'pass', type: 'string'}, {name: 'descn', type: 'string'} ]); //model var selectModel = new Ext.grid.CheckboxSelectionModel(); var model = new Ext.grid.ColumnModel([ new Ext.grid.RowNumberer(), selectModel, {header:'编号',dataIndex:'id',sortable:true}, {header:'名称',dataIndex:'name',sortable:true}, {header:'密码',dataIndex:'pass',sortable:true}, {header:'描述',dataIndex:'descn',sortable:true} ]); //cm.defaultSortable = true; //基于HttpProxy读取Json数据的Factory var store = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({url:'userinfoAction.do?tag=getList',method:'GET'}), reader: new Ext.data.JsonReader({ totalProperty: 'totalProperty', root: 'root' }, fields) }); //创建工具栏组件 var toolbar = new Ext.Toolbar([ {text : 'add',iconCls:'add',handler : showAdd}, {text : 'modify',iconCls:'option',handler : showModify}, {text : 'delete',iconCls:'remove',handler : showDelete} ]); //grid var grid = new Ext.grid.GridPanel({ el: 'grid', title: 'the Jsp with a JSON...', ds: store, cm: model, sm: selectModel, width:600, height:480, autoHeight: true, viewConfig: { forceFit:true }, bbar: new Ext.PagingToolbar({ pageSize: 10, store: store, displayInfo: true, displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条', emptyMsg: "没有记录" }), tbar: toolbar }); grid.render();//渲染表格 store.load({params:{start:0, limit:10}}); //提交表单数据 function submitForm(){ //判断当前执行的提交操作,isAdd为true表示执行新增操作,false表示执行修改操作 if(theForm.isAdd){ //新增信息 theForm.form.submit({ clientValidation:true,//进行客户端验证 waitMsg : '正在提交数据请稍后...',//提示信息 waitTitle : '提示',//标题 url : 'userinfoAction.do?tag=addObject',//请求的url地址 method:'POST',//请求方式 success:function(form,action){//加载成功的处理函数 win.hide(); //updateBookList(action.result.bookTypeId); Ext.Msg.alert('提示','新增信息成功'); }, failure:function(form,action){//加载失败的处理函数 Ext.Msg.alert('提示','新增信息失败'); } }); }else{ //修改信息 theForm.form.submit({ clientValidation:true,//进行客户端验证 waitMsg : '正在提交数据请稍后...',//提示信息 waitTitle : '提示',//标题 url : 'userinfoAction.do?tag=modifyObject',//请求的url地址 method:'POST',//请求方式 success:function(form,action){//加载成功的处理函数 win.hide(); //updateBookList(action.result.bookTypeId); Ext.Msg.alert('提示','修改信息成功'); }, failure:function(form,action){//加载失败的处理函数 Ext.Msg.alert('提示','修改信息失败'); } }); } } //创建新增或修改信息的form表单 Ext.QuickTips.init(); Ext.form.Field.prototype.msgTarget = 'side';//统一指定错误信息提示方式 var theForm = new Ext.FormPanel({ labelSeparator : ":", frame:true, border:false, items : [ { xtype:'textfield', width : 200, allowBlank : false, blankText : '昵称不能为空', name : 'name', fieldLabel:'昵称' },{ xtype:'textfield', width : 200, name : 'pass', fieldLabel:'密码', inputType:'password', allowBlank : false, blankText : '密码不能为空' },{ xtype:'textarea', width : 200, name : 'descn', regex:/^[\s\S]{1,50}$/, regexText:"相关说明请不要超过50个字符", fieldLabel:'相关说明' }, { xtype:'hidden', name : 'id' } ], buttons:[ { text : '提交', handler : submitForm },{ text : '取消', handler : function(){ win.hide(); } } ] }); //创建弹出窗口 var win = new Ext.Window({ layout:'fit', width:380, closeAction:'hide', height:200, resizable : false, shadow : true, modal :true, closable:true, bodyStyle:'padding:5 5 5 5', animCollapse:true, items:[theForm] }); //打开添加面板 function showAdd(){ theForm.form.reset(); theForm.isAdd = true; win.setTitle("新增信息"); win.show(); } //打开修改面板 function showModify(){ var theList = getObjectIdList(); var num = theList.length; if(num > 1){ Ext.MessageBox.alert("提示","每次只能修改一条信息。") }else if(num == 1){ theForm.isAdd = false; win.setTitle("修改信息"); win.show(); var theId = theList[0]; loadForm(theId); } } //取得所选项 function getObjectIdList(){ var recs = grid.getSelectionModel().getSelections(); var list = []; if(recs.length == 0){ Ext.MessageBox.alert('提示','请选择要进行操作的信息 !'); }else{ for(var i = 0 ; i < recs.length ; i++){ var rec = recs[i]; list.push(rec.get('id')) } } return list; } //加载表单数据 function loadForm(theId){ theForm.form.load({ waitMsg : '正在加载数据请稍后',//提示信息 waitTitle : '提示',//标题 url : 'userinfoAction.do?tag=getModifyObject',//请求的url地址 params : {id:theId}, method:'GET',//请求方式 success:function(form,action){//加载成功的处理函数 //Ext.Msg.alert('提示','数据加载成功'); }, failure:function(form,action){//加载失败的处理函数 Ext.Msg.alert('提示','数据加载失败'); } }); } //打开删除面板 function showDelete(){ var theList = getObjectIdList(); var num = theList.length; if(num > 1){ Ext.MessageBox.alert("提示","每次只能删除一条信息。") }else if(num == 1){ Ext.MessageBox.confirm("提示","您确定要删除所选信息吗?",function(btnId){ if(btnId == 'yes'){ var theId = theList[0]; deleteObject(theId); } }) } } //删除信息 function deleteObject(theId){ var msgTip = Ext.MessageBox.show({ title:'提示', width : 250, msg:'正在删除信息请稍后......' }); Ext.Ajax.request({ url : 'userinfoAction.do?tag=deleteObject', params : {id : theId}, method : 'POST', success : function(response,options){ msgTip.hide(); var result = Ext.util.JSON.decode(response.responseText); if(result.success){ //服务器端数据成功删除后,同步删除客户端列表中的数据 //var index = typeStore.find('id',theId); //if(index != -1){ // var rec = typeStore.getAt(index) // typeStore.remove(rec); //} Ext.Msg.alert('提示','删除信息成功。'); }else{ Ext.Msg.alert('提示','已包含'+result.num+'本信息不能删除!'); } }, failure : function(response,options){ msgTip.hide(); Ext.Msg.alert('提示','删除信息请求失败!'); } }); } }); // --></mce:script> </head> <div id="grid" ></div> </html> ? UserAction.java package com.extjs.web; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; public class UserAction extends DispatchAction { //查询所有信息 public ActionForward getList(ActionMapping mapping , ActionForm form ,HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int start = 0; int limit = 10; StringBuffer json = new StringBuffer(); try { if(request.getParameter("start") != null){ start = Integer.parseInt(request.getParameter("start").toString()); limit = Integer.parseInt(request.getParameter("limit").toString()); } } catch (NumberFormatException e) { }finally{ json.append("{totalProperty:100,root:["); for(int i = start;i<limit+start;i++) { if(i < limit+start-1) { json.append("{'id':'"+i+"','name':'name"+i +"','pass':'pass"+i+"','descn':'descn"+i+ "'},"); }else { json.append("{'id':'"+i+"','name':'name"+i +"','pass':'"+i+"','descn':'descn"+i+ "'} ]}"); } } response.setContentType("text/json;charset=UTF-8"); response.getWriter().write(json.toString()); response.getWriter().close(); } System.out.println("getList start: "+start+" json: "+json.toString()); return null; } //添加信息 public ActionForward addObject(ActionMapping mapping , ActionForm form ,HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String msg = ""; try { if(request.getParameter("name") != null){ String name = request.getParameter("name").toString(); String pass = request.getParameter("pass").toString(); String descn = request.getParameter("descn").toString(); if(true){ msg="{success:true,data:{name:'"+name+"',pass:'"+pass+"',descn:'"+descn+"'}}"; //成功时候的返回信息 }else{ msg="{success:false,errors:{rs:'name和descn不匹配,请重新输入'}}"; //失败时候的返回信息 } response.setContentType("text/json;charset=UTF-8"); response.getWriter().write(msg); } } catch (NumberFormatException e) { }finally{ response.getWriter().close(); } System.out.println("addObject msg: "+msg); return null; } //获得修改信息 public ActionForward getModifyObject(ActionMapping mapping , ActionForm form ,HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String msg = ""; try { if(request.getParameter("id") != null){ int id = Integer.parseInt(request.getParameter("id").toString()); if(true){ msg="{success:true,data:{id:'"+id+"',name:'name"+id+"',pass:'pass"+id+"',descn:'descn"+id+"'}}"; //成功时候的返回信息 }else{ msg="{success:false,errors:{rs:'name和descn不匹配,请重新输入'}}"; //失败时候的返回信息 } response.setContentType("text/json;charset=UTF-8"); response.getWriter().write(msg); } } catch (NumberFormatException e) { }finally{ response.getWriter().close(); } System.out.println("getModifyObject msg: "+msg); return null; } //修改信息 public ActionForward modifyObject(ActionMapping mapping , ActionForm form ,HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String msg = ""; try { if(request.getParameter("id") != null){ int id = Integer.parseInt(request.getParameter("id").toString()); String name = request.getParameter("name").toString(); String pass = request.getParameter("pass").toString(); String descn = request.getParameter("descn").toString(); if(true){ msg="{success:true,data:{id:'"+id+"',name:'"+name+"',pass:'"+pass+"',descn:'"+descn+"'}}"; //成功时候的返回信息 }else{ msg="{success:false,errors:{rs:'name和descn不匹配,请重新输入'}}"; //失败时候的返回信息 } response.setContentType("text/json;charset=UTF-8"); response.getWriter().write(msg); } } catch (NumberFormatException e) { }finally{ response.getWriter().close(); } System.out.println("modifyObject msg: "+msg); return null; } //删除信息 public ActionForward deleteObject(ActionMapping mapping , ActionForm form ,HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String msg = ""; try { if(request.getParameter("id") != null){ int id = Integer.parseInt(request.getParameter("id").toString()); if(id != 0){ msg="{success:true,data:{id:'"+id+"'}}"; //成功时候的返回信息 }else{ msg="{success:false,errors:{rs:'id不匹配,请重新输入'}}"; //失败时候的返回信息 } response.setContentType("text/json;charset=UTF-8"); response.getWriter().write(msg); } } catch (NumberFormatException e) { }finally{ response.getWriter().close(); } System.out.println("deleteObject msg: "+msg); return null; } }
- 示例代码.rar (558.8 KB)
- 下载次数: 90
发表评论
文章已被作者锁定,不允许评论。
-
java中Set类接口的用法
2013-09-18 10:21 0在Java中使用Set,可以方便地将需要的类型,以集合类型保存 ... -
maven ssh 整合
2013-07-01 17:23 1096struts2.3 spring 3 hibernate3 & ... -
ExtJs关于grid高度自适应浏览器的问题解决办法
2013-05-13 16:50 939ExtJs中对于grid适应高度问题相信很多人都遇到过,宽度当 ... -
Js实现Map对象
2013-04-27 17:36 838<script> function Map() ... -
java
2013-03-26 11:05 0代码模板 上 -
java程序中的内存溢出原因分析
2012-07-11 22:36 0Application(text)=text 这个text最大 ... -
ext 表格
2012-05-23 23:08 01.<script type="text/ja ... -
EXT+ AJAX验证用户名是否存在
2011-12-22 23:06 1000{ fieldLabel : '用户 ... -
Grid得到选择行
2011-11-28 22:11 1118grid.getStore().getRange(0,stor ... -
aaa
2011-11-27 09:41 912<tr bgcolor="#FFFFFF&qu ... -
Extjs后台管理系统模板
2011-11-10 15:16 11141<!DOCTYPE HTML PUBLIC " ... -
ext tree
2011-11-10 14:55 891<script type="text/java ... -
Spring的任务调度服务实例讲解
2011-10-08 21:42 1031Spring的任务调度服务实例讲解 记的以前在做一家人才招聘 ... -
通过html载入目标页
2011-09-27 21:23 812tab.add({ ... -
jar 读包外配置文件
2011-09-25 18:56 1601package com.ext.util; import j ... -
jdbc.properties,以及读取配置信息
2011-09-22 21:40 2068public void getValue() { ... -
list
2011-08-25 08:08 1128public static void main(String ... -
session
2011-07-28 22:46 926用的是struts框架 过滤器部分代码: public voi ... -
DB .java
2010-11-09 23:27 1059package com.zf.util; import ... -
java编程规范学习
2010-10-18 23:05 890ddsadsad
相关推荐
**基于Struts的Ext增删改查应用范例详解** 在Web开发中,Struts框架与ExtJS库的结合常用于构建高效的用户界面和后台数据交互。本应用范例是针对初学者的一个宝贵资源,它提供了清晰的注释和全面的功能,使开发者...
在"struts简易增删改查"这个主题中,我们将探讨如何使用Struts框架来实现一个基本的数据操作功能,包括添加(Add)、删除(Delete)、修改(Update)和查询(Search)数据。这些功能是任何数据库驱动的应用程序的...
这个例子是我从网上下载下来的,因为公司要进行struts2的框架更改,经理让我做一个例子.我从网上down下之后发现这个例子有很多是错误的.所以更改了一下午的时间.但是对于会的人,也许几分钟就搞定了.这个项目是struts2+...
综上所述,"struts2增删改查"项目涵盖了Struts2框架的基础应用,数据库操作,以及前端交互等多个方面,是学习和实践Java Web开发的一个经典实例。通过这个项目,开发者能够深入理解Struts2的工作原理,提升数据库...
这个压缩包文件“struts1.2(增删改查源码)”显然是提供了一个完整的示例,展示了如何使用Struts1.2框架进行基本的数据操作,包括添加(Add)、删除(Delete)、修改(Update)和查询(Query),这些都是任何数据库...
在探讨Struts2框架下的增删改查以及...以上解析涵盖了Struts2框架中增删改查及分页查询的主要实现方式,通过JSP页面、Action类和配置文件三者的协作,我们可以高效地构建出具有动态数据展示和交互能力的Web应用程序。
hibernate+struts实现jsp增删改查分页! hibernate实现对数据库的操作,struts实现对表单的操作! 实现了分页功能! (注:本本项目中文会出现乱码,我还没有解决!附有数据库文件!)
在IT行业中,开发Web应用程序时,常常需要对数据库进行数据操作,这通常涉及到"增删改查"(CRUD)的基本功能。"Hibernate+Struts"是一个常见的Java Web开发框架组合,它们一起提供了强大的后端数据处理能力。下面将...
基于Struts 2+Hibernate实现员工管理系统。一个单位有多个部门,每个部门有多名员工,每个员工只属于一个部门。基于该要求,实现员工和部门的管理(包括添加、查询、删除和修改等操作),并且要实现部门与员工之间的...
在“Struts2增删改查”这个主题中,我们将深入探讨如何利用Struts2来实现数据库中的基本操作:添加(Add)、删除(Delete)、修改(Update)和查询(Query)。 首先,了解Struts2的基本架构至关重要。Struts2框架...
本实践项目"Struts2的增删改查.zip"是针对Struts2框架进行CRUD(Create,Read,Update,Delete)操作的完整实例,旨在帮助开发者深入理解并掌握Struts2的核心特性和实际应用。 在Struts2中,CRUD操作是数据库操作的...
在本项目"Struts1 增删改查+分页"中,我们将深入探讨如何利用Struts1实现对数据的基本操作以及分页显示。 1. **Struts1基础**: - **Action类**:是Struts1的核心,用于接收用户请求并执行业务逻辑。每个Action类...
这个“Struts2 增删改查实例”是一个非常适合初学者的实践项目,它将帮助你理解如何在实际应用中使用Struts2来实现基本的数据操作功能。 首先,Struts2的核心组件包括Action类、配置文件(struts.xml)、拦截器...
Struts2实现的增删改查,可运行。数据库mysql,单表,自建就可以啦。代码层逻辑清晰:DAOImpl,DAO,Service,ServiceImpl,Action分层清晰,有简单的国际化和输入校验功能。
在这个"Struts2 JDBC 增删改查"项目中,我们将探讨如何结合这两者来构建一个简单的数据管理应用。 首先,让我们深入理解Struts2的核心概念。Struts2框架提供了动作(Action)和结果(Result)的概念,动作负责处理...
因项目还在开发,所以本人只拿出一块单独的struts+hibernate增、删、改、查来演示,具体的一些包一看就知道; 项目直接在MyEclipse6.0运行,环境是里面自带的,用过的人都知道。本人测试没有问题。 具体的页面...
在IT行业中,Spring、Hibernate和Struts2是三个非常重要的框架,它们构成了经典的Java Web开发栈,被广泛用于实现Web应用程序的"增删改查"(CRUD)操作。在这个项目中,"北大青鸟"可能是一个教育机构,它可能在教授...
在这个"EXTJS4+STRUTS2+JAVA增删改查"的例子中,我们将深入探讨这三个技术如何协同工作,实现数据的动态管理。 EXTJS4是一个强大的JavaScript库,主要用于创建桌面级的Web应用程序。它提供了丰富的组件库,如表格、...