java web从零单排第二十三期《Hibernate》重定向显示用户列表

来源:互联网 发布:淘宝店铺首页怎么上图 编辑:程序博客网 时间:2024/06/05 21:56

接着上一期的问题,我们刷新用户列表页面,通过控制台信息告诉我们,数据再一次被保存了。我们先来看一看更改后的代码在进行解析。

1.struts.xml文件的改变:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtd/struts-2.0.dtd"><struts><package name="hibernate" extends="struts-default">  <action name="save" class="com.test.action.UserAction" method="save">    <result name="success" type="redirect">listUser.action</result>  </action>    <action name="listUser" class="com.test.action.UserAction" method="listAll">    <result name="success">listAll.jsp</result>   </action>      <action name="getUser"  class="com.test.action.UserAction" method="getUser">    <result name="success">/getPerson.jsp</result>  </action>    <action name="deleteUser"  class="com.test.action.UserAction" method="deleteUser">    <result name="success">/listAll.jsp</result>  </action>    </package></struts>

为了避免运行多次,只要把刷界面的业务改成只是显示用户列表即可,所以第一次不采用转发,而是采用重定向,重定向到显示用户列表的方法,这样就能比较完美的解决了问题
2.显示列表的方法,在UserAction添加方法listAll:

public String listAll() throws Exception{                  List<User> list =UserDB.listall();HttpServletRequest request = ServletActionContext.getRequest();request.setAttribute("list", list);return SUCCESS;}


再次运行程序,就不会出现不正常的信息了。

 

3.更新用户信息的实现:

添加链接:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><%@ taglib uri="/struts-tags" prefix="s"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><!--<link rel="stylesheet" type="text/css" href="styles.css">--><script type="text/javascript">      function del()   {   if(confirm("are you sure"))   {          return true;   }   return false;   }   </script></head><body><table width="80%" align="center" border="1"><tr><th>username</th><th>password</th><th>delete</th><th>update</th></tr><s:iterator value="#request.list" id="user"><tr><td><s:a href="getUser.action?username=%{#user.username}"> <s:propertyvalue="username" /></s:a></td><td><s:a href="getUser.action?username=%{#user.user}"></s:a> <s:propertyvalue="password" /></td><td><s:a href="deleteUser.action?username=%{#user.username}"onclick="return del()">delete</s:a></td><td><s:a href="updateUser.jsp">update</s:a></td></tr></s:iterator></table></body></html>


4.增加修改信息updateUser.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>      <body>   <form action="updateUser">    username:<input type="text" name="username"><br>    password:<input type="text" name="password"><br>     <input type="submit" value="submit">   </form>  </body></html>


5.增加struts.xml配置信息:

  <action name="updateUser" class="com.test.action.UserAction" method="updateUser">    <result name="success" type="redirect">listUser.action</result>  </action>


只需要增加一个update方法来更新传递过来的信息就可以完成,当然这里还是需要使用重定向的方式,否则会一直执行更新方法。

对于updateUser方法的实现,希望通过前面的代码来改变一下就可以完成。

 

 

原创粉丝点击