一.删除功能

之前跳转用户列表的时候把用户id,用户名,用户密码存入了ActionContext

1.userlist.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ taglib uri="/struts-tags" prefix="s"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>用户列表</title>
  9. <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/style.css">
  10. <script type="text/javascript" src="${pageContext.request.contextPath}/jslib/jquery-1.11.1.js"></script>
  11. <script type="text/javascript">
  12. $(function(){
  13. //删除用户
  14. $(".delete").click(function(){
  15. var str=this.lang.split("!");
  16. if(!confirm("你确定要删除"+ str[1] +"这个用户吗?"))
  17. {
  18. return;
  19. }
  20. //jquery ajax方式请求action
  21. $.post("${pageContext.request.contextPath}/user/delete",{"user.id":str[0]},function(){
  22. location.href="${pageContext.request.contextPath}/user/list";
  23. });
  24. });
  25. });
  26. </script>
  27. </head>
  28. <body>
  29. 用户列表
  30. <br>
  31. <br>
  32. <table class="bordered">
  33. <thead>
  34. <tr><th>序号</th><th>用户名</th><th>密码</th><th>照片</th><th>删除</th><th>修改</th></tr>
  35. </thead>
  36. <!-- USERLIST,cuser,s存入的Stack Context -->
  37. <s:iterator value="#USERLIST" id="cuser" status="s">
  38. <tr>
  39. <td><s:property value="#s.index+1"/></td>
  40. <td><s:property value="#cuser.userName"/></td>
  41. <td><s:property value="#cuser.pwd"/></td>
  42. <td><a href="#" class="picture" lang="<s:property value="#cuser.id"/>">照片</a></td>
  43. <td><a href="#" class="delete" lang="<s:property value="#cuser.id"/>!<s:property value="#cuser.userName"/>">删除</a></td>
  44. <td><a href="#" class="modify" lang="<s:property value="#cuser.id"/>">修改</a></td>
  45. </tr>
  46. </s:iterator>
  47. </table>
  48. <br>
  49. <br>
  50. <a href="${pageContext.request.contextPath}/main.jsp">返回主页面</a>
  51. </body>
  52. <!-- 调试
  53. Value Stack 访问时不用加#
  54. Stack Context 访问时要加#
  55. -->
  56. <s:debug></s:debug>
  57. </html>

点击确认删除,把用户id利用domain model的方式存入action

2.UserAction

  1. /**
  2. * 删除用户
  3. * @return
  4. * @throws ClassNotFoundException
  5. * @throws SQLException
  6. * @throws NamingException
  7. */
  8. public String delete() throws ClassNotFoundException, SQLException, NamingException
  9. {
  10. UserDAO dao=new UserDAO();
  11. dao.deleteUser(user);
  12. return null;
  13. }

3.UserDAO

  1.   /**
  2. * 删除用户
  3. * @param user
  4. * @throws SQLException
  5. */
  6. public void deleteUser(User user) throws SQLException
  7. {
  8. sql="delete from users where id=?";
  9. ps=conn.prepareStatement(sql);
  10. ps.setInt(1, user.getId());
  11. ps.execute();
  12. conn.close();
  13. }

二.修改功能

1.userlist.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ taglib uri="/struts-tags" prefix="s"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>用户列表</title>
  9. <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/style.css">
  10. <script type="text/javascript" src="${pageContext.request.contextPath}/jslib/jquery-1.11.1.js"></script>
  11. <script type="text/javascript">
  12. $(function(){
  13. //删除用户
  14. $(".delete").click(function(){
  15. var str=this.lang.split("!");
  16. if(!confirm("你确定要删除"+ str[1] +"这个用户吗?"))
  17. {
  18. return;
  19. }
  20. //jquery ajax方式请求action
  21. $.post("${pageContext.request.contextPath}/user/delete",{"user.id":str[0]},function(){
  22. location.href="${pageContext.request.contextPath}/user/list";
  23. });
  24. });
  25.  
  26.   //修改用户
  27. $(".modify").click(function(){
  28. //为保证跳转的控制权在action中
  29. location.href="${pageContext.request.contextPath}/user/modify?user.id=" + this.lang;
  30. });
  31. });
  32. </script>
  33. </head>
  34. <body>
  35. 用户列表
  36. <br>
  37. <br>
  38. <table class="bordered">
  39. <thead>
  40. <tr><th>序号</th><th>用户名</th><th>密码</th><th>照片</th><th>删除</th><th>修改</th></tr>
  41. </thead>
  42. <!-- USERLIST,cuser,s存入的Stack Context -->
  43. <s:iterator value="#USERLIST" id="cuser" status="s">
  44. <tr>
  45. <td><s:property value="#s.index+1"/></td>
  46. <td><s:property value="#cuser.userName"/></td>
  47. <td><s:property value="#cuser.pwd"/></td>
  48. <td><a href="#" class="picture" lang="<s:property value="#cuser.id"/>">照片</a></td>
  49. <td><a href="#" class="delete" lang="<s:property value="#cuser.id"/>!<s:property value="#cuser.userName"/>">删除</a></td>
  50. <td><a href="#" class="modify" lang="<s:property value="#cuser.id"/>">修改</a></td>
  51. </tr>
  52. </s:iterator>
  53. </table>
  54. <br>
  55. <br>
  56. <a href="${pageContext.request.contextPath}/main.jsp">返回主页面</a>
  57. </body>
  58. <!-- 调试
  59. Value Stack 访问时不用加#
  60. Stack Context 访问时要加#
  61. -->
  62. <s:debug></s:debug>
  63. </html>

2.UserAciton

点击修改用户按钮跳转到修改用户界面

  1. /**
  2. * 为用户准备照片,以便在modify.jsp中显示
  3. * @return
  4. * @throws SQLException
  5. * @throws ClassNotFoundException
  6. * @throws NamingException
  7. */
  8. public String modify() throws SQLException, ClassNotFoundException, NamingException
  9. {
  10. UserDAO dao=new UserDAO();
  11. //这个user会在Value Stack中出现
  12. user=dao.getUserById(user.getId());
  13.    return "modify";
  14. }

这里的user存入了Value Stack中,在modify页面中可以调用

3.UserDAO

  1.   /**
  2. * 通过id得到用户
  3. * @param id
  4. * @return
  5. * @throws SQLException
  6. */
  7. public User getUserById(int id) throws SQLException
  8. {
  9. sql="select * from users where id=?";
  10. User user=new User();
  11. ps=conn.prepareStatement(sql);
  12. ps.setInt(1, id);
  13. ResultSet rs=ps.executeQuery();
  14. rs.next();
  15. user.setId(rs.getInt(1));
  16. user.setUserName(rs.getString(2));
  17. user.setPwd(rs.getString(3));
  18. conn.close();
  19. return user;
  20. }

4.user.xml

  1. <result name="modify">/WEB-INF/user/modify.jsp</result>

5.modify.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ taglib uri="/struts-tags" prefix="s"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>修改</title>
  9. <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/style.css">
  10. <script type="text/javascript" src="${pageContext.request.contextPath}/jslib/jquery-1.11.1.js"></script>
  11. </head>
  12. <body>
  13. 修改用户信息
  14. <br>
  15. <br>
  16. <!-- 修改用户信息 -->
  17. <form method="post" action="${pageContext.request.contextPath}/user/save">
  18. <table>
  19. <tr><td>用户名</td><td><input type="text" name="user.userName" value="<s:property value="user.userName"/>"/></td></tr>
  20. <tr><td>密码</td><td><input type="text" name="user.pwd" value="<s:property value="user.pwd"/>"/></td></tr>
  21. <tr><td><input type="hidden" name="user.id" value="<s:property value="user.id"/>"/></td></tr>
  22. <tr><td colspan="2"><input type="submit" value="修改"></td></tr>
  23. </table>
  24. </form>
  25. <br>
  26. <br>
  27. <a href="${pageContext.request.contextPath}/main.jsp">返回主页面</a>
  28. <s:debug></s:debug>
  29. </body>
  30. </html>

6.UserAction

通过domain model的方式将modify.jsp中修改的user信息传入

  1. /**
  2. * 修改用户
  3. * @return
  4. * @throws ClassNotFoundException
  5. * @throws SQLException
  6. * @throws NamingException
  7. */
  8. public String save() throws ClassNotFoundException, SQLException, NamingException
  9. {
  10. UserDAO dao=new UserDAO();
  11. dao.modifyUser(user);
  12. //跳转到list这个action重新加载userlist.jsp
  13. return "userlist";
  14. }

最后跳转到list这个action重新加载userlist,修改完成

7.UserDAO

  1.   /**
  2. * 修改用户信息
  3. * @param user
  4. * @throws SQLException
  5. */
  6. public void modifyUser(User user) throws SQLException
  7. {
  8. sql="update users set userName=?,pwd=? where id=?";
  9. ps=conn.prepareStatement(sql);
  10. ps.setString(1, user.getUserName());
  11. ps.setString(2, user.getPwd());
  12. ps.setInt(3, user.getId());
  13. ps.execute();
  14. conn.close();
  15. }

Struts2(七.删除和修改用户功能的实现)的更多相关文章

  1. Django实现简单的用户添加、删除、修改等功能

    一. Django必要的知识点补充 1. templates和static文件夹及其配置 1.1 templates文件夹 所有的HTML文件默认都放在templates文件夹下. 1.2 stati ...

  2. 限制oracle用户创建、删除、修改用户对象

    在sys用户下执行: CREATE OR REPLACE TRIGGER lms2014BEFORE create or DROP OR ALTER ON databaseDECLAREBEGINIF ...

  3. MVC5 网站开发之七 用户功能 3用户资料的修改和删除

    这次主要实现管理后台界面用户资料的修改和删除,修改用户资料和角色是经常用到的功能,但删除用户的情况比较少,为了功能的完整性还是坐上了.主要用到两个action "Modify"和& ...

  4. linux下添加删除,修改,查看用户和用户组

    一.组操作 1.创建组: groupadd test #增加一个test组 2.修改组 groupmod -n test2 test #将test组的名子改成test2 3.删除组 groupdel ...

  5. linux创建用户、设置密码、修改用户、删除用户

    创建用户.设置密码.修改用户.删除用户:useradd testuser 创建用户testuserpasswd testuser 给已创建的用户testuser设置密码说明:新创建的用户会在/home ...

  6. Hibernate+Struts2+jsp 修改用户信息

    在用户列表页面点击修改,进入修改页面 修改薪酬为555,点击提交,重新跳回该页面 修改成功 关键代码如下 基层的代码,这里增加了一个根据用户id查询的方法 dao层 //修改 public USer ...

  7. oracle创建用户,修改用户,删除用户等关于用户的

    --直接修改底层表 USER$ 更换用户名 1.windows 平台下运行 cmd 2.sqlplus /nolog 3.SQL> conn SYSTEM/123@ORCL as sysdba ...

  8. useradd adduser linux创建用户、设置密码、修改用户、删除用户

    创建用户.设置密码.修改用户.删除用户: useradd testuser 创建用户testuser passwd testuser 给已创建的用户testuser设置密码 说明:新创建的用户会在/h ...

  9. 为VisualSVN Server增加在线修改用户密码的功能

    原文:为VisualSVN Server增加在线修改用户密码的功能 附件下载:点击下载 VisualSVN Server是一个非常不错的SVN Server程序,方便,直观,用户管理也异常方便. 不过 ...

随机推荐

  1. xml或其他附件下载到客户端

    //xml Document document=DocumentHelper.createDocument(); Element root=document.addElement("root ...

  2. java使用JSCH连接FTP(Linux服务器)上传文件到Linux服务器

    首先需要用到jsch-0.1.54.jar 包: 链接: https://pan.baidu.com/s/1kZR6MqwpCYht9Pp_D6NKQw 密码: gywx 直接上代码: package ...

  3. some small knowledge

    cookie 增查 <!--1.语义化标签的作用--> <!--1.1 从开发角度考虑是提高代码的可读性可维护性--> <!--1.2 网站的发布者:seo 搜索引擎优化 ...

  4. Openresty最佳案例 | 第2篇:Lua入门

    转载请标明出处: http://blog.csdn.net/forezp/article/details/78616622 本文出自方志朋的博客 什么是lua Lua 是一种轻量小巧的脚本语言,用标准 ...

  5. Java的技术体系结构

    作为程序开发者,我们都想写出完美的代码,但世界上好像从来都没有过完美的代码,因为代码牵涉的内容很复杂,有程序设计语言.运行环境.数据结构以及算法等等,而开发者往往很难全面精通,再者写代码本来也就是一个 ...

  6. 极光推送小结 - iOS

    此次即友盟分享小结(友盟分享小结 - iOS)之后对推送也进行了一版优化.此次分享内容依然基于已经成功集成 SDK 后 code 层级部分. 注:此次分享基于 SDK 3.1.0,若版本相差较大,仅供 ...

  7. 【CodeForces 915 C】Permute Digits(思维+模拟)

    You are given two positive integer numbers a and b. Permute (change order) of the digits of a to con ...

  8. hdu_1788_Chinese remainder theorem again (lcm

    我知道部分同学最近在看中国剩余定理,就这个定理本身,还是比较简单的: 假设m1,m2,…,mk两两互素,则下面同余方程组: x≡a1(mod m1) x≡a2(mod m2) … x≡ak(mod m ...

  9. 一、spring 4概述

    0 前言 0.0 Spring 来历 Spring 是于2003年兴起的一个轻量级的Java 开发框架, 为了解决企业应用开发的复杂性而创建, 核心是控制反转(IoC)和面向切面编程(AOP). 简单 ...

  10. 构建高可靠hadoop集群之2-机栈

    本文主要参考 http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-common/RackAwareness.html had ...