第63天(就业班) easyui

培训要求
1)	使用jQuery-EasyUI组件,构建自已的Web页面(下)
2)	使用Jsp/Js/Ajax/Json/Jquery/Easyui + Servlet + JDBC + Lucene/Mysql/Oracle完成数据库分页
3)	欣赏几款优秀的jQuery组件,构建自已的Web页面


一)学会查阅文档,使用jQuery-EasyUI,构建自已的Web页面
   (1)网址:www.jeasyui.com,下载并参考学习<>手册

   (2)什么是jQuery-EasyUI
        参见<<什么是EasyUI.JPG>>
        是一种第三方组织开发的一款基于jQuery的,简单易用的,功能强大的
WEB前端JavaScript现成的组件库
        注意:今天的EasyUI组件库的版本较高,需要高版本浏览器支持,
中低版本浏览器会有不能正常执行的情况

   (3)JavaScript,AJAX,JSON,jQuery,EasyUI分别能解决什么问题
	    JS:基于浏览器对web页面中的节点进行操作,比较麻烦
	    jQuery:基于浏览器简化对web页面中的节点进行操作,做到了write less do more
	    AJAX:基于浏览器与服务端进行局部刷新的异步通讯编程模式
	    JSON:简化自定义对象的创建与AJAX数据交换轻量级文本
	    EasyUI:快速基于现成的组件创建自已的web页面
组件:是指已经由第三方开源组织写好的,直接可以使用的功能界面,例如:form,layout,tree...      注意:我们学的都是零散的组件,项目中需要将其装配起来,方可构建完整的web页面,
EasyUI只是众多前端WEB组件之一 

   (4)jQuery-EasyUI快速入门----可折叠功能的面板
        第一步:创建一个js-day05这么一个web工程
        第二步:在WebRoot目录下创建00-base.html
        第三步:在WebRoot目录下创建js和themes目录,导入官方文件
参见<< jquery-easyui-1.3.6文件夹>>
        第四步:在00-base.html 文件的标签中引入如下文件
  	
    
    
  
  	
  	
  	

        第五步:在00-base.html 文件的标签中创建如下
标签
内容
内容
内容
内容
(5)EasyUI组件 (06)form表单 》validatebox验证框 姓名:必填/1-6个字符/必填中文 邮箱:必填/1-30个字符/必填符合邮箱格式/后缀必须是com或cn
用户名: 思考:检查邮箱的扩展名只能是{'com','cn'} 》combobox下拉列表框 设置下拉列表框默认值 你所在的城市: 你所在的城市: combobox_data.json: [ { "id":"gz", "text":"广州" }, { "id":"zs", "text":"中山" }, { "id":"fs", "text":"佛山" }, { "id":"sz", "text":"深圳", "selected":true }, { "id":"yj", "text":"阳江" } ] 》datebox日期选择框 显示yyyy-mm-dd格式, 添加 选中日期并显示选中的日期 入职时间: 》numberspinner数字微调框 设置数字微调框中的值 获取数字微调框中的值 商品数量:
》slider滑动条框 拖动滑块,将值同步显示到span标签中 身高:150
(07)progressbar进度条 》每隔1秒让进度条按随机数填充,直至充满进度条刻度 进度条:
(08)window窗口 》单击按钮,打开或关闭一个窗口
(09)dialog对话框 》单击按钮,打开或关闭一个对话框
(10)messager消息窗口 》单击按钮,弹出警告框 》单击按钮,弹出确认框 》单击按钮,弹出显示框 》单击按钮,弹出输入框
(11)tree树 》选中树中某个子节点,弹出选中的内容  》用树替代linkButton按钮
  • 第一章
  • 第二章
    • 第一节
    • 第二节
      • 第一条
      • 第二条
      • 第三条
    tree_data.json: [ { "id":1, "text":"第一章" }, { "id":2, "text":"第二章", "state":"closed", "children":[ { "id":21, "text":"第一节" }, { "id":22, "text":"第二节" }, { "id":23, "text":"第三节", "state":"closed", "children":[ { "id":231, "text":"第一条" }, { "id":232, "text":"第二条" } ] } ] } ] (12)datagrid数据表格 》参见E:\开发类库\jquery-easyui-1.3.6\demo\datagrid(9-数据网格)\products.json 》 DateGrid会异步以POST方式向服务器传入二个参数:page和rows二个参数,服务端需要哪个,就接收哪个参数 * page:需要显示的页号 * rows:需要获取多少条记录 开发过程: DB: use js; drop table if exists users; create table users( id int(5) primary key auto_increment, name varchar(4) not null, sal int(5) not null ); insert into users(name,sal) values('小赵君',1000); insert into users(name,sal) values('中赵君',1500); insert into users(name,sal) values('大赵君',2000); insert into users(name,sal) values('赵小君',2500); insert into users(name,sal) values('赵中君',3000); insert into users(name,sal) values('赵大君',3500); insert into users(name,sal) values('赵君小',4000); insert into users(name,sal) values('赵君中',4500); insert into users(name,sal) values('赵君大',5000); insert into users(name,sal) values('赵君',5500); select id,name,sal from users; Entity: public class User { private Integer id; private String name; private Integer sal; public User(){} public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getSal() { return sal; } public void setSal(Integer sal) { this.sal = sal; } } public class PageBean { private Integer currPageNO; private Integer perPageNO; private Integer allRecordNO; private Integer allPageNO; private List userList = new ArrayList(); public PageBean(){} public Integer getCurrPageNO() { return currPageNO; } public void setCurrPageNO(Integer currPageNO) { this.currPageNO = currPageNO; } public Integer getPerPageNO() { return perPageNO; } public void setPerPageNO(Integer perPageNO) { this.perPageNO = perPageNO; } public Integer getAllRecordNO() { return allRecordNO; } public void setAllRecordNO(Integer allRecordNO) { this.allRecordNO = allRecordNO; } public Integer getAllPageNO() { return allPageNO; } public void setAllPageNO(Integer allPageNO) { this.allPageNO = allPageNO; } public List getUserList() { return userList; } public void setUserList(List userList) { this.userList = userList; } } Util: public class JdbcUtil { private static ComboPooledDataSource dataSource = new ComboPooledDataSource(); public static ComboPooledDataSource getDataSource() { return dataSource; } } src/c3p0-config.xml com.mysql.jdbc.Driver jdbc:mysql://127.0.0.1:3306/js root root 2 5 1 5 Dao: public class UserDao { //select count(id) from users where 1=1 and name like '%赵%'; public Integer getAllRecordNO(String sql) throws Exception{ QueryRunner runner = new QueryRunner(JdbcUtil.getDataSource()); Long temp = (Long) runner.query(sql,new ScalarHandler()); return temp.intValue(); } //select id,name,sal from users where 1=1 and name like '%赵%' limit ?,?; public List findAllRecord(String sql,Integer start,Integer size) throws Exception{ QueryRunner runner = new QueryRunner(JdbcUtil.getDataSource()); return runner.query(sql,new BeanListHandler(User.class),new Object[]{start,size}); } } Service: public class UserService { private UserDao userDao = new UserDao(); //show("赵",2); public PageBean show(String keywords,Integer currPageNO) throws Exception{ PageBean pageBean = new PageBean(); String sqlA = "select count(id) from users where 1=1"; String sqlB = "select id,name,sal from users where 1=1"; if(keywords != null && keywords.trim().length() > 0){ sqlA += " and name like '%" + keywords + "%'"; sqlB += " and name like '%" + keywords + "%'"; } pageBean.setCurrPageNO(currPageNO); Integer allRecordNO = userDao.getAllRecordNO(sqlA); pageBean.setAllRecordNO(allRecordNO); Integer allPageNO = null; if(pageBean.getAllRecordNO() % pageBean.getPageSize() == 0){ allPageNO = pageBean.getAllRecordNO() / pageBean.getPageSize(); }else{ allPageNO = pageBean.getAllRecordNO() / pageBean.getPageSize() + 1; } pageBean.setAllPageNO(allPageNO); Integer size = pageBean.getPageSize(); Integer start = (pageBean.getCurrPageNO()-1) * size; sqlB += " limit ?,?"; List userList = userDao.findAllRecord(sqlB,start,size); pageBean.setUserList(userList); return pageBean; } } Action: public class UserServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { try{ request.setCharacterEncoding("UTF-8"); String keywords = request.getParameter("keywords"); if(keywords==null || keywords.trim().length()==0){ keywords = ""; } System.out.println("keywords=" + keywords);//赵 String temp = request.getParameter("page"); if(temp == null || temp.trim().length()==0){ temp = "1"; } Integer currPageNO = Integer.parseInt(temp); System.out.println("currPageNO=" + currPageNO);//2 UserService userService = new UserService(); PageBean pageBean = userService.show(keywords,currPageNO); Map map = new LinkedHashMap(); map.put("total",pageBean.getAllRecordNO()); map.put("rows",pageBean.getUserList()); JSONArray jsonArray = JSONArray.fromObject(map); String jsonJAVA = jsonArray.toString(); jsonJAVA = jsonJAVA.substring(1,jsonJAVA.length()-1); response.setContentType("text/html;charset=UTF-8"); PrintWriter pw = response.getWriter(); pw.write(jsonJAVA); pw.flush(); pw.close(); }catch(Exception e){ e.printStackTrace(); } } } WebRoot/userList.jsp <%@ page language="java" pageEncoding="UTF-8"%> 姓名:
    二)欣赏几款优秀的jQuery组件,构建自已的Web页面 牛图库素材网----->http://niutuku.com/

    你可能感兴趣的:(第63天(就业班) easyui)