zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    web前端之 CSS
    web前端之 HTML标签详细介绍
    web前端之 HTML介绍
    c++之 scanf 接收用户输入内容
    JQ 全选、全不选
    java 除法向上,向下取整
    Java使用占位符拼接字符串
    eclipse远程debug
    阿里 drds 分布式数据库分节点查询
    Mysql 修改字段长度、修改列名、新增列、修改自增主键起始值
  • 原文地址:https://www.cnblogs.com/yslf/p/10766581.html
Copyright © 2011-2022 走看看