JSTL标签的使用

JSTL(Java standard taglib)标签的使用
  查询多个数据, 需要使用 JSTL 标签库, 使用这个标签库就可以迭代查询到的集合数据显示到页面,
  要使用 JSTL 需要下载开发包, 可以到 maven 仓库下载

Demo: JSTL 的使用
1.下载 jstl 的开发包 (www.mvnrepository.com)
2.导入 jstl 的开发包 (直接拷贝的 lib 下)
3.在控制层中定义查询集合的方法

 1 @SuppressWarnings("serial")
 2 @WebServlet(urlPatterns= {"/emp/*"})
 3 public class EmpServlet extends BaseServlte{
 4     private IEmpService empservice = (IEmpService)ServiceFactory.getInstance(EmpServiceImpl.class);
 5     @Override
 6     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
 7         String pathInfo = req.getPathInfo();
 8             try {
 9                 if ("/regist".equals(pathInfo)) {
10                     this.regist(req, resp);
11                 } else if ("/remove".equals(pathInfo)) {
12                     this.removeEmpById(req, resp);
13                 } else if ("/get".equals(pathInfo)) {
14                     this.getEmpById(req, resp);
15                 } else if ("/list".equals(pathInfo)) {
16                     this.getEmpList(req, resp);
17                 }
18             } catch (Exception e) {
19                 e.printStackTrace();
20             }
21     }
22     //模糊分页查询雇员信息
23     public void getEmpList(HttpServletRequest req, HttpServletResponse resp) throws Exception {
24         //模糊查询关键字
25         String kw = req.getParameter("kw");
26         //当前页
27         Integer cp = Integer.parseInt(req.getParameter("cp"));
28         //每页显示的数据量
29         Integer ls = Integer.parseInt(req.getParameter("ls"));
30         Map<String, Object> map = empservice.findAllSplit(kw, cp, ls);
31         req.setAttribute("map", map);
32         //跳转到显示雇员列表的页面 
33         req.getRequestDispatcher("/pages/emp.jsp").forward(req, resp);
34     }
35     
36     //根据编号查询数据
37     public void getEmpById(HttpServletRequest req, HttpServletResponse resp) throws Exception {
38         //获取要查询的雇员编号
39         Integer id = Integer.parseInt(req.getParameter("id"));
40         Emp emp = empservice.findEmpById(id);
41         //将要查询的数据保存到 request 内置对象
42         req.setAttribute("emp", emp);
43         //使用服务端跳转到显示雇员的页面, 然后使用 el 表达式将数据获取
44         req.getRequestDispatcher("/pages/emp.jsp").forward(req, resp);
45     }
46     //添加数据
47     public void regist(HttpServletRequest req,HttpServletResponse resp) throws Exception {
48         super.saveFile(req, resp);
49         //将基本信息保存到数据库中
50         Emp emp = super.initObj(req, Emp.class);
51         emp.setImg(super.newFileName);
52         if (empservice.addEmp(emp)) {
53             //保存添加雇员的信息
54             req.setAttribute("emp", emp);
55             req.getRequestDispatcher("/pages/emp.jsp").forward(req, resp);
56         }
57         System.out.println(emp);
58     }
59     //删除数据
60     public void removeEmpById(HttpServletRequest req,HttpServletResponse resp) throws Exception {
61         //获取要删除的雇员的编号
62         Integer empno = Integer.valueOf(req.getParameter("id"));
63         //在删除之前先将雇员的照片信息查询
64         String fileName = empservice.findEmpById(empno).getImg();
65         //调用业务层的删除方法
66         if (this.empservice.removeEmpById(empno)) { //如果数据库中的数据删除成功,则删除对应的照片
67             super.removeFile(req, fileName);
68             System.out.println("删除成功");
69             //向客户端输出信息
70             resp.getWriter().println("数据删除成功 ");
71         }
72     }
73     
74     @Override
75     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
76         this.doGet(req, resp);
77     }
78     @Override
79     public String getDir() {
80         return "empImgs/";
81     }
82 }

4.将查询的数据显示到 jsp 页面

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
 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 charset="UTF-8">
 8     <title>Insert title here</title>
 9     <base href="/MvcPro/"/>
10 </head>
11 <body>
12     <table border="1">
13         <tr>
14             <td>编号</td><td>姓名</td><td>职位</td><td>薪资</td><td>领导编号</td><td>入职日期</td><td>佣金</td><td>部门编号</td><td>照片</td>
15         </tr>
16         <c:forEach items="${map['emplist']}" var="emp">
17             <tr>
18                 <td>${emp.empno}</td>
19                 <td>${emp.ename}</td>
20                 <td>${emp.job}</td>
21                 <td>${emp.sal}</td>
22                 <td>${emp.mgr}</td>
23                 <td>${emp.hiredate}</td>
24                 <td>${emp.comm}</td>
25                 <td>${emp.deptno}</td>
26                 <td><img src="${emp.img}" style=Width:40px;higth:60px></td>
27             </tr>
28         </c:forEach>
29     </table>
30 </body>
31 </html>

 

posted @ 2019-04-25 09:59  笑长不爱笑QvQ  阅读(243)  评论(0)    收藏  举报