我们在日常的web开发中总会遇到查询操作,但是如何进行查询结束后进行实时的一键更新查询列表呢?以下代码仅供参考:
1、查询结果
2、删除操作
3、返回实时结果
代码分析:此处我们以最简单的jsp+servlet进行简单的介绍
list.jsp(返回的操作结果再此处显示)
<body bgcolor="gray"> <fieldset> <legend> 信息 </legend> <table width="80%" border="5" align="center" cellspacing="12" cellpadding="10"> <tr> <td>序号</td> <td>部门</td> <td>姓名</td> <td>年龄</td> <td>工号</td> <td>操作</td> </tr> <% List<Regesiters> list = (List<Regesiters>)request.getAttribute("list"); for(Regesiters dep : list){ %> <tr> <td><%=dep.getId() %></td> <td><%=dep.getReID() %></td> <td><%=dep.getReName() %></td> <td><%=dep.getReAge() %></td> <td><%=dep.getWorknumber() %></td> <td><a href="servlet/DeleteServlet?id=<%=dep.getId() %>">删除</a>|<a href="update.jsp?id=<%=dep.getId()%>&ano=<%=dep.getReID() %>&aname=<%=dep.getReName() %>&age=<%=dep.getReAge()%>&aworknumber=<%=dep.getWorknumber() %>">更新</a></td> </tr> <%} %> </table> </form> </fieldset>
传递给ListServlet进行处理,处理结果转发给list.jsp显示,此时显示的结果为第一次查询时的总体页面。
public class ListServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
RegesitDaoImp dao = new RegesitDao();
List<Regesiters> list=dao.list();
req.setAttribute("list", list);
req.getRequestDispatcher("/list.jsp").forward(req, resp);
/*List<Regesiters> list=dao.list(number);
req.setAttribute("list", list);
req.getRequestDispatcher("/list.jsp").forward(req, resp);*/
}
}
当进行删除操作时,
<a href="servlet/DeleteServlet?id=<%=dep.getId() %>">删除</a>
采用get方式传递参数,唯一性约束条件id给DeleteServlet处理。
DeleteServlet.java
public class DeleteServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
int id =Integer.parseInt(req.getParameter("id"));
System.out.println(id);
RegesitDaoImp dao = new RegesitDao();
dao.deleteRegesit(id);
/*List<Regesiters> list=dao.list();
req.setAttribute("list", list);
req.setAttribute("msg", "删除成功!");*/
req.getRequestDispatcher("/find.jsp").forward(req, resp);
}
}
注意此时重定向不能写成list.jsp,而是find.jsp。find.jsp作用即为实时刷新.
find.jsp:
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'list.jsp' starting page</title>
</head>
<script type="text/javascript">
window.οnlοad=function(){
document.form1.submit();//发出请求
}
</script>
<body bgcolor="gray">
<form name="form1" method="post" action="servlet/ListServlet" target="result">
<input type="text" name="aworknumber" maxlength="5"/>
<input type="submit" value="查询工号" />
</form>
<iframe frameborder="0" width="100%" name="result" height="90%" ></iframe>
</body>
</html>
从而实现实时更新