`
王非123
  • 浏览: 24567 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jquery easyui 实现增删改查功能

阅读更多
1、前端jsp中代码:增删改查功能用到了datagrid、window、form、message、combobox
<script type="text/javascript">
	var win_add=null, win_upt=null, form_add=null, form_upt=null, form=null;
	 $(document).ready(function(){
  			//create datagrid
		 		$('#dg').datagrid({
                url:'<%=cp%>/role/getAllRole',
                title:'用户信息列表',
                pageSize:10,
    			pageList:[5,10,15,20],
    			pagination:true,//分页控件
    			rownumbers:true,//行号
    		    //width:1210,
                //width:document.body.clientWidth,
                height:document.body.clientHeight,
               // fitColumns: true, //自动扩大或缩小列的尺寸以适应表格的宽度并且防止水平滚动
                nowrap: false,     //True 就会把数据显示在一行里
                striped: true,  //奇偶条显示不同的颜色
                collapsible:true,   //可折叠
                remoteSort: false,    //是否从服务器给数据排序
               // singleSelect:false,  //是否允许选中多行
          		//queryParams:{},
                idField:'id',  
                loadMsg:'正在加载....',
				        
			columns : [ [
			{field:'ck',checkbox:true,width:2}, //显示复选框

			{
				title : '用户名',
				field : 'username',
				width : 250,
				sortable : true,
				align : 'center'
			}, {
				title : '角色',
				field : 'comments',
				width : 300,
				sortable : false,
				align : 'center'
			}, {
				title : '电子邮箱',
				field : 'email',
				width : 300,
				sortable : false,
				align : 'center'
			}, 
			{title:'操作',field:'doaction',align:'center',width:300,
						formatter:function(value,row,index){
							var d='', e = '<a href="javascript:void(-1)" onclick="updateRole('+index+')">更新</a> ',f='';
							 f = ' <a href="javascript:void(-1)" onclick="deleterole('+index+')">删除</a>';
	
							return d+e+f;
						}
					}
			] ],
			
			toolbar:[{
						id:'btnadd',
						text:'新增用户',
						iconCls:'icon-add',
						handler:newAddRole
					},'-',{
						text:'显示全部',
						iconCls:'icon-reload',
						handler:displayAll
					},'-'
				]
		});
		
  		$('.searchbox').appendTo('.datagrid-toolbar table td:last');
		init_window();
		init_form();
		/* 更新   下拉列表查询 */
  		$('#role_comments').combobox({  //下拉列表
  			method:"post",
  			url:'<%=cp%>/role/getRoleComments',
			valueField:'id',   
		    textField:'text',
		    editable:true
		});
	});
	/* 初始化窗口控件 */
  	function init_window(){
  			var width = 400;
  			var height = 250;
  			var top = (document.body.clientHeight-height)/2;
  			var left = (document.body.clientWidth-width)/2;
  			win_add = $('#userform').window({
				closed:true,
				width: width,
				height: height,
				top: top,
  				left: left,
				modal: true,
				//iconCls:'icon-vcard'
			});
		    win_upt = $('#upt_role').window({
				closed:true,
				width: width,
				height: height,
				top: top,
  				left: left,
				modal: true,
				iconCls:'icon-vcard'
			});
		}
		/* 初始化表单控件 */
  		function init_form(){
  			form_add = win_add.find('form');
  			form_upt = win_upt.find('form');
  		}
		/* 新增用户 */
  		function newAddRole(){
  			win_add.window('setTitle','添加新用户');
  			win_add.window('open');
			//form_add.form('clear');
			form_add.url = '<%=cp%>/role/addRoole';
			form = form_add;
  		}
    	//数据保存
  		function saveData(){
  			form.form('submit', {
				url:form.url,
				success:function(data){
					//data = unescape(data);
					eval('data='+data);
					//win_add.window('close');
					 if (data.success){
						//grid.datagrid('reload');
						$.messager.alert('成功',data.msg);
						closeWindow();
					} else {
						$.messager.alert('错误',data.msg,'error');
					} 
				}
			});
  		}
  		/* 关闭表单窗口 */
  		function closeWindow(){
			if(win_add)
				win_add.window('close');
			if(win_upt)
				win_upt.window('close');
		}
	/* 执行常规查询 */
  		function normalQuery(value){
			 $('#dg').datagrid("reload",{
				 username: value
			 }); 
  		}
  	/* 显示全部记录 */
  		function displayAll(){
  			$('#dg').datagrid("reload",{username:''});
  		}
  	/* 更新用户 */
  		function updateRole(index){
  			var row =$('#dg').datagrid('getRows')[index];  //获取行
  			if (row){
  				win_upt.window('setTitle','更新用户资料');
				win_upt.window('open');
				form_upt.form('clear');
				form_upt.form('load', '<%=cp%>/role/getRole/'+row.id);
				form_upt.url = '<%=cp%>/role/updateRole?id='+row.id;
				form = form_upt;
				
				$('#span_username')[0].innerHTML = row.username;
				
				} else {
				$.messager.show({
					title:'警告', 
					msg:'请您先选择用户资料。'
				});
			}
  		}
  		
  //删除
  	function deleterole(index){
  		$.messager.confirm('提示','您是否确认执行删除操作?',function(r){  
  				if (r){
  					var row = $('#dg').datagrid('getRows')[index];
  	    			if(row && row.id!=null){
  	    				$.post('<%=cp%>/role/delRole/'+row.username,function(data){
  	    					eval("data="+data);   //字符串转换成json对象
  	    					if(data.success){
  	    						$.messager.alert('提示',data.msg);
  	    						//$.messager.show({title:'提示',msg:data.msg,timeout:2000,showType:'fade'});
  	    					}else{
  	    						$.messager.alert('错误',data.msg,'error');
  	    					}
  	    				}); 
  	    			}
  				}
  			});
  		}
	</script>
</head>
<body style="margin:0">
	 <input id="q" class="easyui-searchbox" data-options="searcher:normalQuery,prompt:'按用户名查询'" style="width:200px; margin:5px;"></input>
	 <table id="dg" ></table>
	 <!-- data item form for insert -->
	<div id="userform" class="easyui-window" closed="true" modal="true">
	    <div style="text-align:center; padding:1px;">
	        <form id="userinfo_form" method="post">
	        
	            <table width="90%" cellspacing="1" cellpadding="2" border="0" align="center">
	                <tr>
	                   <td>用  户  名:</td>
	                    <td><input type="text" name="username" class="easyui-validatebox" required="true" missingMessage="请填写用户名" validType="remote['<%=cp%>/rbac/chkUserProperty?chkColumn=username&rnd='+Math.random(),'colname']" invalidMessage="该用户名已存在" /></td>
	                </tr>
	                
	                <tr>
	                    <td>电子邮件:</td>
	                    <td><input type="text" name="email" class="easyui-validatebox" validType="email" invalidMessage="邮箱格式错误" /></td>
	                </tr>
	                <tr>
	                    <td>住宅电话:</td>
	                    <td><input type="text" name="hometel" /></td>
	                </tr>
	                <tr>
	                    <td>手机号码:</td>
	                    <td><input type="text" name="mobileno" /></td>
	                </tr>
	                
	            </table>
	        </form>
	    </div>
	    <div style="text-align:center;padding:5px;">
	        <a href="javascript:void(0)" onclick="saveData()" id="btn-save" class="easyui-linkbutton" icon="icon-save">保存</a>  
	        <a href="javascript:void(0)" onclick="closeWindow()" id="btn-cancel" class="easyui-linkbutton" icon="icon-cancel">取消</a>  
	    </div>
	</div> 
		<!-- data item form for update -->
	<div id="upt_role" class="easyui-window" closed="true" modal="true">
	    <div style="text-align:center; padding:1px;">
	        <form id="upt_role" method="post">
	            <table width="90%" cellspacing="1" cellpadding="2" border="0" align="center">
	            	<tr>
	                    <td>用  户  名:</td>
	                    <td><span id="span_username"></span></td>
	                </tr>
	            	<tr>
	            		<td>分配角色:</td>
	            		<td><select id="role_comments" name="comments" style="width:150px;"></select></td>
	            	</tr> 
	                <tr> 
	                    <td>电子邮件:</td>
	                    <td><input type="text" name="email" class="easyui-validatebox" validType="email" invalidMessage="邮箱格式错误" /></td>
	                </tr>   
	            </table>
	        </form>
	    </div>
	    <div style="text-align:center;padding:5px;">
	        <a href="javascript:void(0)" onclick="saveData()" id="btn-save" class="easyui-linkbutton" icon="icon-save">保存</a>  
	        <a href="javascript:void(0)" onclick="closeWindow()" id="btn-cancel" class="easyui-linkbutton" icon="icon-cancel">取消</a>  
	    </div>
	</div>
</body>
</html>

2、后台实现:
2.1、controller层:
@Controller
@RequestMapping("/role")
public class roleController {

	@Autowired
	private LoginService loginservice;
	@Autowired
	private RoleService roleService;

	/* 分页查询角色 */
	@RequestMapping(value = "getAllRole", method = { RequestMethod.POST })
	@ResponseBody
	public JsonGrid<Role> getAllRole(
			@RequestParam(required = true) Integer page,
			@RequestParam(required = true) Integer rows, Role role) {
		PaginationSupport<Role> pager = roleService.getPagesRole(role.getUsername(), page, rows);
		return new JsonGrid<Role>(pager);
	}

	/* 增加用户 */
	@RequestMapping(value = "addRoole", method = { RequestMethod.POST })
	@ResponseBody
	public String addRole(Role role) {
		roleService.addRole(role);
		return "{success:true,msg:'添加成功'}";
	}
	/*获取用户信息*/
	@RequestMapping(value="getRole/{id}", method = { RequestMethod.GET })
	public @ResponseBody Role getUser(@PathVariable String id){
		Role role = roleService.findRoleById(id);
		if(role==null) return new Role();
		return role;
	}
	/*更新用户信息*/
	@RequestMapping(value="updateRole",method=RequestMethod.POST)
	public @ResponseBody String updateRole(Role role){
		if(role==null ){
			return "{success:false,msg:'"+Escape.escape("提供资料不全,请重试修改。")+"'}";
		}
		try {
			roleService.updateRole(role);
			return "{success:true,msg:'更新成功'}";
		} catch (Exception e) {
			return "{success:false,msg:'"+Escape.escape(e.getMessage())+"'}";
		}
	}
	/*获取用户角色*/
	@RequestMapping(value = "getRoleComments", method = { RequestMethod.POST })
	public @ResponseBody List<Role> getAllRolesList() {
		List<Role> users = roleService.findAllRoleComments();
		return users;
	}
	/*删除用户*/
	@RequestMapping(value="delRole/{uid}", method = { RequestMethod.POST })
	public @ResponseBody String delRole(@PathVariable String uid){
		
		try {
			
			roleService.delRole(uid);
			return "{success:true,msg:'删除成功'}";
		} catch (Exception e) {
			e.printStackTrace();
			return "{success:false,msg:'"+e.getMessage()+"'}";
		}
	}

}


2.2、service层:
@Service("roleService")
public class RoleServiceImpl implements RoleService{
	
	@Resource(name="genericDao")
	private IGenericDao genericDao;

	@Override
	public PaginationSupport<Role> getPagesRole(String username,
			int pageNumber, int pageSize) {
		String queryString = "select u.username,u.comments,u.email from t_user u where 1=1 ";
		if(StringUtils.isNotEmpty(username)){
			queryString += " and USERNAME like '%"+username+"%'";
		}
		return genericDao.queryListByRows(queryString , Role.class, pageNumber, pageSize);
	}

	@Override
	public Role getRole(String roleid) {
		return genericDao.find("select u.username,u.comments,u.email from t_user u where u.ID = ?", Role.class, roleid);
	}

	@Override
	public Role findRoleById(String roleid) {
		return genericDao.find("select u.username,u.comments,u.email from t_user u where u.ID = ?", Role.class, roleid);
	}

	@Override
	public void addRole(Role role) {
		System.out.println(role.getUsername());
		System.out.println(role.getEmail());
		System.out.println(role.getHometel());
		System.out.println(role.getMobileno());
		
	}

	@Override
	public void delRole(String uid) {
		System.out.println(uid);
		
	}

	@Override
	public void updateRole(Role role) {
		System.out.println(role.getUsername());
		System.out.println(role.getComments());
		System.out.println(role.getEmail());	
	}

	@Override
	public List<Role> findAllRoleComments() {
		// TODO Auto-generated method stub
		return genericDao.query("select * from t_role", Role.class);
	}
	
}

分享到:
评论

相关推荐

    EasyUI 增删改查的简单实现

    通过这些技术的结合,开发者可以快速构建出一个功能完备的管理界面,实现数据的增删改查,同时保持代码结构清晰,易于维护。项目中的 `src` 目录可能包含 Java 源代码、配置文件、资源文件等,这些内容构成了实际...

    ssm、easyui的增删改查

    总结来说,"ssm、easyui的增删改查"项目是一个基础的Java Web教程,它涵盖了Spring、SpringMVC、MyBatis三大框架的整合应用,以及EasyUI的前端展示。这个项目可以帮助开发者掌握后端数据处理和前端界面设计的基本...

    easyui 表格增删改查工具类

    在提供的压缩包文件中,虽然没有列出具体的文件内容,但通常会包含 JavaScript 和 HTML 文件,以及可能的 CSS 文件,这些文件组合起来演示了如何使用 EasyUI 工具类实现表格的增删改查功能。如果需要具体代码实现,...

    JQuery Easyui 行增删改查

    实现 行编辑 增删改

    easyui+ssh增删改查

    【标题】"easyui+ssh增删改查"是一个典型的Web开发教程,旨在帮助初学者理解和实践基于EasyUI和Spring Struts Hibernate(SSH)框架的数据管理功能。EasyUI是一个基于jQuery的前端用户界面库,而SSH是Java后端常用的...

    easyui增删改查案例

    通过这个"easyui增删改查案例",我们可以学习到如何利用 EasyUI 和 jQuery 实现Web应用的基本功能,理解前端与后端的交互机制,以及如何美化和优化用户界面。实践过程中,开发者还需要熟悉服务器端编程,如数据库...

    SSH2 + JQuery EasyUI 做的一个对书籍增删改查的例子

    标题中的“SSH2 + JQuery EasyUI 做的一个对书籍增删改查的例子”表明这是一个使用Struts2(SSH框架的一部分)、Spring和Hibernate(SSH框架的另外两个部分)结合JQuery EasyUI创建的Web应用程序示例,主要用于图书...

    Json 格式分页、Jquery easy ui 增删改查例子

    通过以上步骤,你就可以利用JQuery EasyUI和JSON数据格式创建一个功能完善的增删改查界面。同时,EasyUI的其他组件,如`dialog`、`form`等,也可以辅助实现这些功能,让用户体验更加流畅。记住,良好的前端设计不仅...

    jquery easyui 增删改查、排序

    在这个“jQuery EasyUI 增删改查、排序”的主题中,我们将深入探讨如何利用这个框架实现数据的CRUD(创建、读取、更新、删除)操作以及对数据进行动态排序。 1. **创建(Create)**: 在EasyUI中,可以使用`datagrid...

    JQueryEasyUI的增删查改

    "JQueryEasyUI的增删查改"是Web应用中最基本的功能,通常指的是创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作,也就是常说的CRUD操作。这些功能对于任何数据管理型的应用来说都是必不可少的。 ...

    easyui简单的增删改查范例

    标题中提到的“easyui简单的增删改查范例”,指的是一个使用easyui框架来实现基本的数据库操作——增加、删除、修改和查询(CRUD)功能的应用实例。这种范例在web开发中非常常见,是学习和掌握easyui进行页面交互...

    C# MVC4+EasyUI框架增删改查

    在本项目"C# MVC4+EasyUI框架增删改查"中,我们主要探讨的是如何利用C#的ASP.NET MVC4框架与EasyUI前端库来实现一个基础的Web应用程序,其中包括对数据库的操作(增、删、改、查)。首先,我们要理解MVC模式,它是由...

    【精】Java EasyUi增删改查加分页 案例

    【Java EasyUi增删改查加分页案例】是一个适合初学者的实践项目,它涵盖了Web开发中的基础功能,包括添加、删除、修改和查询数据,并且整合了分页功能。EasyUI是一个基于jQuery的UI框架,它提供了丰富的组件,简化了...

    maven+spring+springmvc+hiberante+easyui实现的增删改查

    在本项目中,我们主要探讨的是一个基于"Maven+Spring+SpringMVC+Hibernate+EasyUI"技术栈实现的典型企业级应用系统,主要用于完成基本的CRUD(增删改查)操作。以下是对这些技术及其在项目中的作用的详细说明: 1. ...

    springboot+mybatis+easyui增删改查分页Demo

    "springboot+mybatis+easyui增删改查分页Demo"是一个基于Spring Boot、MyBatis和EasyUI实现的Web应用程序示例,主要用于演示如何在这些技术栈中进行基本的数据操作,如添加(Add)、删除(Delete)、修改(Update)...

    NETMVC+Dapper+EasyUI实现增删改查和分页

    在.NET开发环境中,使用ASP.NET MVC框架结合Dapper轻量级ORM工具以及EasyUI前端框架,可以高效地构建出具备增、删、改、查(CRUD)功能和分页显示的Web应用。以下是关于这些技术及其整合使用的详细知识点: 1. ASP...

    基于SSH的EasyUI的数据增删改查

    4. **分页和排序**:EasyUI提供了分页和排序的功能,开发者可以通过配置实现对后台数据的分页请求,Struts2 Action根据请求参数进行相应的数据库查询。 5. **Ajax交互**:EasyUI和SSH框架结合,可以实现无刷新的...

    easyUI 实例 增删改查

    在这个"easyUI 实例 增删改查"的案例中,我们将探讨如何利用EasyUI实现数据的基本操作:添加(Add)、编辑(Edit)、删除(Delete)和查询(Query)。 1. **数据展示与查询**: EasyUI 提供了`datagrid`组件用于...

    EasyUi框架,增删改查例子(保证完整)

    同时,它也会演示如何使用Ajax技术与服务器进行异步通信,实现数据的增删改查功能。 通过学习和实践这个例子,开发者可以快速掌握EasyUi的基本用法,为自己的项目构建出功能完善的前端界面。记得在实践中不断调试和...

    EasyUI DataGrid 增删改查源码

    EasyUI DataGrid 是一款基于jQuery的前端数据展示组件,它为Web应用提供了强大的表格操作功能,包括数据的增删改查。在这个主题中,我们将深入探讨EasyUI DataGrid的源码,理解其工作原理,以及如何在实际项目中实现...

Global site tag (gtag.js) - Google Analytics