前两期的内容不知道大家理解的怎么样,我并没有详细的去解释代码的意思,如果你已经自己都钻研明白了,那最好过,但还是一知半解的话,接下来我会仔细分析代码。

1.register.jsp:这部分代码只是简单的注册界面,把数据提交到UserAction,执行其save方法,save方法都执行了哪些内容呢?

根据之前的学习可知,UserAction会接受到register提交来的信息,由于我们输入了username和password,那么就会自动调用对应的set方法。在save方法中,创建了一个user实例,并把信息储存进去,调用UserDB的静态save方法把实例保存到数据库,如果这一句执行成功的话,就能保证信息存储在数据库中了。之后为了显示用户的列表,需要把数据库中的所有注册信息拿出来,只要调用UserDB的listall ()方法即可,为了转发list中的信息,我们可以把list信息放到request中,方法就是调用期setAttribute方法,我们知道,request的作用范围是在一个转发状态下,这样,我们在页面转发的过程中,就可以随时取得request中的list。最后如果没有没问题,会return一个success。

对于delete方法和getUser方法道理是一样的。

2.listAll.jsp:

返回success后,通过默认的dispatch方式,转发到listAll.jsp,这样listAll.jsp中就会收到信息了。

<s:iterator value="#request.list" id="user">
<tr>
<td><s:a href="getUser.action?username=%{#user.username}"> <s:property
value="username" /></s:a></td> <td><s:a href="getUser.action?username=%{#user.user}"></s:a> <s:property
value="password" /></td> <td><s:a href="deleteUser.action?username=%{#user.username}"
onclick="return del()">delete</s:a></td> </tr>
</s:iterator>

首先调用iterator标签,得到要迭代的列表,td标签中表面上包含了三个超链接,实际上只有两个,因为第二个并没有在<s:a></s:a>之间,对于第一个超链接代表含义如下:

1.getUser.action:超链接到的url,这里和form的action中的意思是一样的。

2.?username=%{#user.username}:信息的传递,?后面的username其实是在getUser.action中的,也就是UserAction中的username,那么这个username的只是什么呢,就是user.username,由于每一个user都是一个bean对象,前面需要加入#来取值,前面的%,是保证{}内的是OGNL表达式。

3.property标签:username和password都是存放在值栈中的,可以直接输出。

4.del(),这里其实涉及到了javasript的知识,其目的知识弹出来一个对话框,如果确定则执行程序。javascript代码如下:

<script type="text/javascript">

   function del()
{
if(confirm("are you sure"))
{
return true;
}
return false;
}
</script>

javascript一定包含在head里。

查看的执行结果:

点击一个链接:

点击delete链接:

这样我们就完成了信息的查看与删除。

不知道细心的同学不知道有没有注意到,如果我们注册一个用户,在用户列表界面刷新一下界面,控制台会有:

也就是说,我们刷新了界面,再一次执行了save,但是由于主键不能重复,会显示增加用户异常,这不是我们希望看到的,我们要做到,刷新界面,不会添加新的数据到数据库。

在下一期中会给出解决办法,和更新用户的方法。

java web从零单排第二十二期《hibernate》代码分析之查看,删除用户信息的更多相关文章

  1. java web从零单排第二十一期《Hibernate》主键的生成方式,用户增加与显示用户列表

    1.新建register.jsp <%@ page language="java" import="java.util.*" pageEncoding=& ...

  2. java web从零单排第十六期《struts2》控制标签(2)

    1.s:subset标签概述: s:subset标签功能是从一个集合中取出部分元素合并成一个新的集合,新生成的这个集合是原来集合的子集.属性和意义如下: 属性名 是否必需 默认值 类型 说明介绍 co ...

  3. java web从零单排第十七期《struts2》数据标签库(1)

    1.s:action标签: 此标签的作用是在JSP页面中访问action类的数据,执行某些操作,并返回相应的数据.其属性及意义如下: 属性名 是否必需 默认值 类型 说明介绍 executeResul ...

  4. (转)PaperWeekly 第二十二期---Image Caption任务综述

    本文转自:http://mp.weixin.qq.com/s?__biz=MzIwMTc4ODE0Mw==&mid=2247484014&idx=1&sn=4a053986f5 ...

  5. Linux学习总结(十二)—— CentOS用户管理:创建用户、修改用户、修改密码、密码有效期、禁用账户、解锁账户、删除用户、查看所有用户信息

    文章首发于Linux学习总结(十二)-- CentOS用户管理,请尊重原创保留原文链接. 创建用户 useradd -g webadmin -d /home/zhangsan zhangsan pas ...

  6. java web 自定义错误页面 完整jsp错误页面代码(同时写错误日志) error.jsp

    1.首先配置web.xml  添加一下代码 <error-page> <error-code>500</error-code> <location>/e ...

  7. Java Web整合开发王者归来(JSP + Servlet + Struts + Hibernate + Spring) - 读书笔记

    第1章 状态码表示响应类型: 保留 表示请求成功地接收 完成请求客户需进一步细化请求 客户错误 服务器错误 Web服务器: Apache服务器,特长是处理静态页面,效率非常高. Tomcat提供对JS ...

  8. JAVA Web day02--- Android小白的第二天学习笔记

    CSS(美工部分知识,了解) 1. CSS概述 1.1.CSS是什么? * CSS 指层叠样式表 样式表:存储样式的地方 层叠:一层一层叠加 高大富有帅气人 1.2.CSS有什么作用? *CSS就是用 ...

  9. PHP从零单排(十八)图像处理

    1.打开现有的图像 <?php header("Content-type:image/jpeg"); $img=imagecreatefromjpeg("cc.jp ...

随机推荐

  1. URL中#(井号)的作用(转)

    2010年9月,twitter改版. 一个显著变化,就是URL加入了"#!"符号.比如,改版前的用户主页网址为 http://twitter.com/username 改版后,就变 ...

  2. WiFi密码破解CDlinux

    好了,先说下提前要准备的东东吧:1.U盘一枚,最小1G空间.需进行格式化操作,提前保存内部文件.2.CDlinux镜像.帖子最后会提供一枚8月最新修改版,共135M. 1.CDlinux U盘启动  ...

  3. linux进程间通信之信号

    1.wait()函数 原型:pid_t  wait(int *status) 子进程退出时,它向父进程发送一个SIGCHLD信号,默认情况是总是忽略SIGCHLD信号,此时进程状态一直保留在内存中,因 ...

  4. 上传列表集合wsp包

    1. 网站设置--web设计器库--解决方案--上载解决方案 2. 打开SPD,左侧的子网站--新建

  5. CSS: inline-block的应用和float块高度塌陷

    普通流高度塌陷: 当块float浮动时,不会对块布局产生影响,块仍然会按照左右或者上下的顺序排列.但是会影响文档的排列,当文档的高度超过块的高度时,块的高度会产生塌陷现象.   高度塌陷解决方法:   ...

  6. discuz bbs注册,登录流程整理!想打通bbs又不想读一遍代码可以参考一下

    bbs 用户注册流程 第一步: /source/class/class_member.php: on_register注册入口 L602 左右 if(!$activation) {//不为空,说明用户 ...

  7. 比赛F-F Perpetuum Mobile

    比赛F-F     Perpetuum Mobile 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=86640#problem/ ...

  8. Request.ServerVariables["Url"]

    Request.ServerVariables["Url"] 返回服务器地址 Request.ServerVariables["Path_Info"] 客户端提 ...

  9. apache下的IfModule里设置含义

    <IfModule mod_deflate.c> SetOutputFilter DEFLATE #必须的,就像一个开关一样,告诉apache对传输到浏览器的内容进行压缩 SetEnvIf ...

  10. (IOS)N duplicate symbols for architecture i386

    Xcode编译时的error,出现此情况的汇总引用如下: 1.可能存在两个main入口: 2.导入的.h文件可能误写为.m: 3.两文件间可能存在重复定义的全局变量名: 4.使用#include导入文 ...