用户列表的增删改

本文档详细介绍了如何优化用户列表界面并实现增、删、改功能。首先,通过引用自定义的css文件public.css来美化界面。接着,逐步添加增加操作的界面显示、数据输入和保存功能,确保新增记录成功后能在页面和数据库中显示。然后,实现删除功能,包括删除确认对话框和记录的真正移除。再者,提供了修改记录的界面和流程,但目前的修改方式是创建新纪录而非直接更新原有纪录,这将是后续优化的重点。最后,强调在controller层和service层需要编写对应的方法来支持这些操作。

上一次我们把大体的页面布局做出来了,接下来就是完善优化我们的界面,并且进行相关操作方法的实现。


主要任务:优化界面,对用户列表进行增删改


  • 1、优化界面

引用css
布局已做好,并且在上一次中我们也写了自己的css——public.css,接下来我们需要引用它。在user.jsp中写代码:

<link href="${ctx }/css/public.css" type="text/css" rel="stylesheet" />

加了样式后的界面
在这里插入图片描述

  • 2、增加操作
    ①增加界面
    在进行增加操作之前,我们先写一个关于增加的界面,还是在user.jsp中,写在</body>之前即可
<div class="box">
		<div id="loginDiv">
		    <p class="logTitle">新增</p>
		    <div>
		      <form id="saveForm" >
		      	<input type="hidden" name="id" id="id"	/>
		        <div class="formInput"> 
		          <img src="${ctx }/img/icon01.png" />
		          <!-- <span>用户名:</span> -->
		          <input type="text" name="username" id="username"	placeholder="" />
		        </div>
		        <div class="formInput"> <span>密码:</span>
		          <input type="password" name="pwd"	id="pwd"	placeholder="" />
		        </div>
		        <div class="formInput"> <span>真实姓名:</span>
		          <input type="text"	name="realname" id="realname"	placeholder="" />
		        </div>
		        <div class="formInput"> <span>性别:</span>
		          <select name="sex">
		            <option value="1">男</option>
		            <option value="2">女</option>
		          </select>
		        </div>
		        <div class="formInput"> 
		        	<span>角色:</span>
		          <select name="role">
		          	<option value="1">管理员</option>
		            <option value="2">客户</option>
		          </select>
		        </div> 
		          <input  class="formButton" type="button" value="保存" onClick="create()" />
		      </form>
		    </div>
		</div>
	</div>	

②显示上面的div
此部分在user.jsp中的</head>前写

<script type="text/javascript">
	function showAddDiv() {
		$(".box").show();//显示div
		//document.getElementById("divId").style.display="block";
	}
</script>

界面显示如下图
在这里插入图片描述
③添加记录
此部分在user.jsp中的<script>标签中书写

//保存
	function create() {
		$.post("${ctx}/user/create.do",
				$("#saveForm").serialize(),function(data){//form表单参数可以直接通过这种提交
					if(data){
						alert("保存成功");
						window.location.reload();
					}else{
						alert("保存失败");
					}
		});
	}

输入相关数据后,点击保存会出现下面界面,说明添加成功,点击确定后,在页面上会显示你刚刚添加的记录,刷新数据库,也有相应记录。
在这里插入图片描述
当然在Console中也会打印下面的信息,说明添加记录成功
在这里插入图片描述

  • 3、删除记录
    此部分在user.jsp中的<script>标签中书写
//删除
	function deleteUser(id) {
		if(confirm("您确定要删除吗?")){
			$.post("${ctx}/user/delete.do",{"id":id,"username":id},
					function(data){
						if(data){
							alert("删除成功");
							window.location.reload();
						}else{
							alert("删除失败");
						}
			});
		}
	}

点击删除,会出现如下对话框
在这里插入图片描述
当然在Console中也会打印下面的信息,说明删除记录成功

  • 4、修改记录
    此部分在user.jsp中的<script>标签中书写
//编辑
	function edit(id) {
		$.ajax({
			type:"get",
			url:"${ctx}/user/findById.do",
			data:{"id":id},
			success:function(data){
				$("#id").val(data.id);
				$("#username").val(data.username);
				$("#pwd").val(data.pwd);
				$("#realname").val(data.realname);
				$(".box").show();
			}
		});
	}

可以对数据进行修改
在这里插入图片描述
当然在Console中也会打印下面的信息,说明修改记录成功
在这里插入图片描述
但是这个地方,修改不是在原纪录中修改,而是会创造一条修改后的新纪录,这是我们下节课的一个修改点哦~

  • 5、方法
    当然了,能有上述的操作,还需要在controller层写相关方法
    @ResponseBody
	@RequestMapping("/create.do")
	public boolean create(User user){
		try{
			userService.create(user);
		}catch(Exception e){
			System.out.println(e.getMessage());
			return false;
		}
		return true;
	}
    @ResponseBody
	@RequestMapping("/findById.do")
	public User findById(Integer id){
		return userService.findById(id);
		
	}
	@ResponseBody
	@RequestMapping("/delete.do")
	public boolean delete(Integer id){
		try{
			userService.delete(id);
		}catch(Exception e){
			System.out.println(e.getMessage());
			return false;
		}
		return true;
	}

因为我们是根据id来进行的操作,所以在UserService中添加方法如下:

public User findById(Integer id);

在UserServiceImpl中生成如下方法:

    @Override
	public User findById(Integer id) {
		return userDao.findById(id);
	}

基本上完成了界面的优化与增删改,当然还有些许问题,我们下次继续优化~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值