EasyUI+JavaWeb奖助学金管理系统[13]-机构分页浏览功能实现

简介: 本文目录1. 本章任务2. 新建页面3. 添加数据表格4. 封装分页查询方法5. 测试

1. 本章任务

机构浏览功能与项目浏览功能大体相似,但是由于机构拥有一个上级机构的自关联字段,处理起来要比项目管理复杂一些。


需要注意的是,机构浏览时需要显示当前机构名称和当前机构上级机构的名称,此处需要联表查询。


2. 新建页面

新建机构管理页departManage.html,并引入easyui库。

<head>
  <meta charset="UTF-8">
  <title>机构管理</title>
  <link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css">
  <link rel="stylesheet" type="text/css" href="easyui/themes/icon.css">
  <link rel="stylesheet" type="text/css" href="css/main.css">
  <script type="text/javascript" src="easyui/jquery.min.js"></script>
  <script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
  <script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js"></script>
</head>
3. 添加数据表格
页面中添加datagrid数据表格:
  <table id="mainTable" title="机构列表" class="easyui-datagrid" url="CoreServlet?method=getDepartPage" pagination="true"
    singleSelect="true" fitColumns="true">
    <thead>
      <tr>
        <th data-options="field:'id',width:50">序号</th>
        <th data-options="field:'type',width:50" formatter="formatType">类型</th>
        <th data-options="field:'name',width:50">名称</th>
        <th data-options="field:'parentName',width:100">上级机构</th>
      </tr>
    </thead>
  </table>
注意:
开启分页
类型这一列由于数据库中存储的是英文,需要转换为对应中文显示,所以添加formatType格式化方法
上级机构数据库中只存了parentId,但是页面上我们显示的时候需要显示上级机构名称,此处先写上parentName。后台给网页返回数据时需要添加上级机构名称。
格式化方法代码如下:
  // 格式化类型
  function formatType(val, row) {
    if (val == "school") {
      return "学校";
    } else if (val == "college") {
      return "学院";
    } else {
      return "班级";
    }
  }
4. 封装分页查询方法
封装getDepartPage方法,返回分页数据,需要注意的是我们要多返回一个parentName信息。
修改CoreServlet如下:
    // 获取机构分页
    else if (method.equals("getDepartPage")) {
      DepartDao departDao = new DepartDao();
      total = departDao.getCount();
      result.setTotal(total);
      result.setRows(departDao.getPage(page, rows));
    }
修改Depart实体类如下,添加parentName信息。
/**
 * 机构
 */
public class Depart {
  private String id;
  private String name;
  private String type;
  private String parentId;
  /**
   * 非数据库字段,仅用于关联查询
   */
  private String parentName;
}
修改getPage方法,联表查询出parentName返回。
/**
   * 分页查询(联表)
   */
  public List<Depart> getPage(int page, int rows) throws Exception {
    Connection conn = ConnectionUtils.getConnection();
    String sql = "select son.*,parent.name as parentName from depart son left join depart parent on son.parentId=parent.id limit ?,?";
    QueryRunner runner = new QueryRunner();
    Object[] params = { (page - 1) * rows, rows };
    List<Depart> departs = runner.query(conn, sql, new BeanListHandler<Depart>(Depart.class), params);
    ConnectionUtils.releaseConnection(conn);
    return departs;
  }
5. 测试
新建一条测试数据 :
INSERT INTO `scholar-system`.`depart`(`id`, `name`, `type`, `parentId`) VALUES (1, '汉东大学', 'school', -1);

此时页面效果如下,注意由于该机构没有上级机构,所以左连接后上级机构名称为NULL,显示为空。

image.png



/

相关文章
|
7月前
EasyUI DataGrid 假分页
EasyUI DataGrid 假分页
72 0
|
6月前
基于EasyUI的后台管理系统页面原型_示例图_下载地址
基于EasyUI的后台管理系统页面原型_示例图_下载地址
44 0
|
数据库
22EasyUI 数据网格- 添加查询功能
22EasyUI 数据网格- 添加查询功能
49 0
|
数据可视化 安全 Java
【项目源码】基于spring boot+mybatis+easyui开发的质量溯源系统
粮油溯源系统是从种植到加工、包装、库存、物流、销售、售出、异常反馈的全流程可视化质量溯源系统。技术架构:spring boot+mybatis+easyui+mysql
164 0
【项目源码】基于spring boot+mybatis+easyui开发的质量溯源系统
|
JavaScript 测试技术
Easyui datagrid 修改分页组件的分页提示信息为中文
Easyui datagrid 修改分页组件的分页提示信息为中文
102 0
|
Java 关系型数据库 MySQL
Eclipse+Java+SSM+Easyui实现网上考试系统
Eclipse+Java+SSM+Easyui实现网上考试系统
165 0
Eclipse+Java+SSM+Easyui实现网上考试系统
|
安全 数据安全/隐私保护
EasyUI+JavaWeb奖助学金管理系统[20]-项目总结与展望
本文目录 1. 总结 1.1 管理员新增奖助学金项目 1.2 学生发起申请 1.3 班主任审批 1.4 学院管理员审批 1.5 学校管理员审批 1.6 学生查看申请结果 2. 展望
185 0
EasyUI+JavaWeb奖助学金管理系统[20]-项目总结与展望
|
前端开发
EasyUI+JavaWeb奖助学金管理系统[19]-奖助学金审批功能开发
本文目录 1. 本章任务 2. 查看当前待审批的申请 3. 审批功能的开发 4. 总结
209 0