1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>    
  2. <%    
  3.     String path = request.getContextPath();    
  4.     String basePath = request.getScheme() + "://"    
  5.             + request.getServerName() + ":" + request.getServerPort()    
  6.             + path + "/";    
  7. %>    
  8.     
  9. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">    
  10. <html>    
  11.     <head>    
  12.         <base href="<%=basePath%>">    
  13.     
  14.         <title>My JSP 'emp.jsp' starting page</title>    
  15.     
  16.         <meta http-equiv="pragma" content="no-cache">    
  17.         <meta http-equiv="cache-control" content="no-cache">    
  18.         <meta http-equiv="expires" content="0">    
  19.         <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">    
  20.         <meta http-equiv="description" content="This is my page">    
  21.         <!--    
  22.     <link rel="stylesheet" type="text/css" href="styles.css">    
  23.     -->    
  24.     
  25.         <script type="text/javascript" src="./js/util.js">    
  26. </script>    
  27.         <script>    
  28. window.onload = function() {    
  29.     document.getElementById("addemp").style.display = "none";    
  30. }    
  31. var pageinfo;    
  32.     
  33. function findAll(nowpage) {    
  34.     //获取xhr对象    
  35.     var xhr = getXhr();    
  36.     //封装请求信息    
  37.     xhr.open("get""./listEmp.do?nowpage=" + nowpage, true);    
  38.     
  39.     //发送请求    
  40.     xhr.send();    
  41.     
  42.     //相应    
  43.     xhr.onreadystatechange = function() {    
  44.         if (xhr.readyState == 4 && xhr.status == 200) {    
  45.     
  46.             var jsonResponse = eval("(" + xhr.responseText + ")");    
  47.     
  48.             //获取写入的tbody的DOM对象    
  49.             cha(jsonResponse);    
  50.     
  51.         }    
  52.     }    
  53. }    
  54.     
  55. function cha(jsonResponse) {    
  56.     var listemps = $("listemps");    
  57.     listemps.innerHTML = "";    
  58.     for ( var i = 0; i < jsonResponse.length; i++) {    
  59.         var emptr = document.createElement("tr");    
  60.     
  61.         var empno = document.createElement("td");    
  62.         var ename = document.createElement("td");    
  63.         var job = document.createElement("td");    
  64.         var hiredate = document.createElement("td");    
  65.         var mgr = document.createElement("td");    
  66.         var sal = document.createElement("td");    
  67.         var comm = document.createElement("td");    
  68.         var deptno = document.createElement("td");    
  69.         var cz = document.createElement("td");    
  70.         empno.appendChild(document.createTextNode(jsonResponse[i].empno));    
  71.         ename.appendChild(document.createTextNode(jsonResponse[i].ename));    
  72.         job.appendChild(document.createTextNode(jsonResponse[i].job));    
  73.         var a = (jsonResponse[i].hiredate.year + 1900) + "年"    
  74.                 + (jsonResponse[i].hiredate.month + 1) + "月"    
  75.                 + jsonResponse[i].hiredate.date + "日";    
  76.         hiredate.appendChild(document.createTextNode(a));    
  77.         mgr.appendChild(document.createTextNode(jsonResponse[i].mgr));    
  78.         sal.appendChild(document.createTextNode(jsonResponse[i].sal));    
  79.         comm.appendChild(document.createTextNode(jsonResponse[i].comm));    
  80.         deptno.appendChild(document.createTextNode(jsonResponse[i].deptno));    
  81.         var udmp = document.createElement("input");    
  82.         var delmp = document.createElement("input");    
  83.         delmp.setAttribute("type""button");    
  84.         udmp.setAttribute("type""button");    
  85.         delmp.setAttribute("value""删除");    
  86.         udmp.setAttribute("value""编辑");    
  87.     
  88.         emptr.appendChild(empno);    
  89.         emptr.appendChild(ename);    
  90.         emptr.appendChild(job);    
  91.         emptr.appendChild(hiredate);    
  92.         emptr.appendChild(mgr);    
  93.         emptr.appendChild(sal);    
  94.         emptr.appendChild(comm);    
  95.         emptr.appendChild(deptno);    
  96.         cz.appendChild(udmp);    
  97.         cz.appendChild(delmp);    
  98.         emptr.appendChild(cz);    
  99.         listemps.appendChild(emptr);    
  100.     
  101.         delmp.onclick = function() {    
  102.             if (window.confirm("您确定删除??")) {    
  103.                 var empno = this.parentNode.parentNode.firstChild.innerHTML;    
  104.                 listemps.innerHTML = "";    
  105.                 var xhr = getXhr();    
  106.                 //封装请求信息    
  107.                 xhr.open("get""./DelEmp.do?empno=" + empno, true);    
  108.     
  109.                 //发送请求    
  110.                 xhr.send();    
  111.     
  112.                 //相应    
  113.                 xhr.onreadystatechange = function() {    
  114.                     if (xhr.readyState == 4 && xhr.status == 200) {    
  115.                         var jsonResponse = eval("(" + xhr.responseText + ")");    
  116.     
  117.                         //获取写入的tbody的DOM对象    
  118.                         cha(jsonResponse);    
  119.                     }    
  120.                 }    
  121.             }    
  122.     
  123.         }    
  124.     
  125.         udmp.onclick = function() {    
  126.             document.getElementById("addemp").style.display = "block";    
  127.             document.getElementById("a").style.display = "none";    
  128.             document.getElementById("b").style.display = "block";    
  129.             var empno = this.parentNode.parentNode.firstChild.innerHTML;    
  130.             var xhr = getXhr();    
  131.             //封装请求信息    
  132.             xhr.open("get""./DeptServlet.do?empno=" + empno, true);    
  133.     
  134.             //发送请求    
  135.             xhr.send();    
  136.             xhr.onreadystatechange = function() {    
  137.                 if (xhr.readyState == 4 && xhr.status == 200) {    
  138.     
  139.                     var jsonResponse1 = eval("(" + xhr.responseText + ")");    
  140.     
  141.                     document.getElementById("empno").value = jsonResponse1.empno;    
  142.     
  143.                     document.getElementById("ename").value = jsonResponse1.ename;    
  144.     
  145.                     document.getElementById("job").value = jsonResponse1.job;    
  146.     
  147.                     var a = (jsonResponse1.hiredate.year + 1900) + "-"    
  148.                             + (jsonResponse1.hiredate.month + 1) + "-"    
  149.                             + jsonResponse1.hiredate.date;    
  150.     
  151.                     document.getElementById("hiredate").value = a;    
  152.     
  153.                     document.getElementById("mgr").value = jsonResponse1.mgr;    
  154.     
  155.                     document.getElementById("sal").value = jsonResponse1.sal;    
  156.     
  157.                     document.getElementById("comm").value = jsonResponse1.comm;    
  158.     
  159.                     select(xhr, jsonResponse[i].deptno);    
  160.                 }    
  161.             }    
  162.         }    
  163.     
  164.         pageinfo = jsonResponse[jsonResponse.length - 1];    
  165.     
  166.     }    
  167. }    
  168.     
  169. function update() {    
  170.     if (window.confirm("您确定修改??")) {    
  171.         listemps.innerHTML = "";    
  172.         var xhr = getXhr()    
  173.         var empno = document.getElementById("empno").value;    
  174.         var ename = document.getElementById("ename").value;    
  175.         var job = document.getElementById("job").value;    
  176.         var hiredate = document.getElementById("hiredate").value;    
  177.         var mgr = document.getElementById("mgr").value;    
  178.         var sal = document.getElementById("sal").value;    
  179.         var comm = document.getElementById("comm").value;    
  180.         var deptno = document.getElementById("sel").value;    
  181.         xhr    
  182.                 .open("get""./UpdateEmp.do?empno1=" + empno + "&ename1="    
  183.                         + ename + "&job1=" + job + "&hiredate1=" + hiredate    
  184.                         + "&mgr1=" + mgr + "&sal1=" + sal + "&comm=" + comm    
  185.                         + "&deptno1=" + deptno, true);    
  186.     
  187.         xhr.send();    
  188.         xhr.onreadystatechange = function() {    
  189.             if (xhr.readyState == 4 && xhr.status == 200) {    
  190.                 cha();    
  191.             }    
  192.         }    
  193.     }    
  194. }    
  195.     
  196. function tijiao() {    
  197.     
  198.     var xhr = getXhr()    
  199.     var empno = document.getElementById("empno").value;    
  200.     var ename = document.getElementById("ename").value;    
  201.     var job = document.getElementById("job").value;    
  202.     var hiredate = document.getElementById("hiredate").value;    
  203.     var mgr = document.getElementById("mgr").value;    
  204.     var sal = document.getElementById("sal").value;    
  205.     var comm = document.getElementById("comm").value;    
  206.     var deptno = document.getElementById("sel").value;    
  207.     
  208.     xhr.open("get""./AddEmp.do?empno1=" + empno + "&ename1=" + ename    
  209.             + "&job1=" + job + "&hiredate1=" + hiredate + "&mgr1=" + mgr    
  210.             + "&sal1=" + sal + "&comm=" + comm + "&deptno1=" + deptno, true);    
  211.     xhr.send();    
  212.     xhr.onreadystatechange = function() {    
  213.         if (xhr.readyState == 4 && xhr.status == 200) {    
  214.             findAll(1);    
  215.         }    
  216.     }    
  217.     
  218. }    
  219. function addEmp() {    
  220.     
  221.     document.getElementById("addemp").style.display = "block";    
  222.     document.getElementById("b").style.display = "none";    
  223.     document.getElementById("a").style.display = "block";    
  224.     var sel = document.getElementById("sel");    
  225.     var xhr = getXhr()    
  226.     select(xhr, "")    
  227.     
  228. }    
  229. function select(xhr, vaule) {    
  230.     
  231.     xhr.open("get""./Dept.do"true);    
  232.     xhr.send();    
  233.     
  234.     xhr.onreadystatechange = function() {    
  235.         if (xhr.readyState == 4 && xhr.status == 200) {    
  236.     
  237.             var jsonResponse = eval("(" + xhr.responseText + ")");    
  238.             c = jsonResponse;    
  239.             for ( var i = 0; i < jsonResponse.length; i++) {    
  240.                 var emptr = document.createElement("option");    
  241.                 if (vaule == jsonResponse[i].deptno) {    
  242.                     emptr.appendChild(document    
  243.                             .createTextNode(jsonResponse[i].dname));    
  244.                     emptr.setAttribute("value", jsonResponse[i].deptno);    
  245.                     emptr.setAttribute("selected"true);    
  246.                 } else {    
  247.                     emptr.appendChild(document    
  248.                             .createTextNode(jsonResponse[i].dname));    
  249.                     emptr.setAttribute("value", jsonResponse[i].deptno);    
  250.                 }    
  251.                 sel.appendChild(emptr);    
  252.             }    
  253.         }    
  254.     }    
  255.     
  256. }    
  257. function getpageInfo(oper) {    
  258.     
  259.     switch (oper) {    
  260.     case 1:    
  261.         pageinfo.nowpage = 1;    
  262.         break;    
  263.     case 2:    
  264.         pageinfo.nowpage--;    
  265.         break;    
  266.     case 3:    
  267.         pageinfo.nowpage++;    
  268.         break;    
  269.     case 4:    
  270.         pageinfo.nowpage = pageinfo.countpage;    
  271.         break;    
  272.     }    
  273.     
  274.     findAll(pageinfo.nowpage);    
  275.     
  276. }    
  277.     
  278. function changeTest() {    
  279.     
  280.     if ($("ordername").className == "asc") {    
  281.         $("ordername").className = "desc";    
  282.     
  283.         //获取xhr对象    
  284.         var xhr = getXhr();    
  285.         //封装请求信息    
  286.         xhr.open("get""./listEmp.do?nowpage=" + nowpage+"&lob=asc"true);    
  287.     
  288.         //发送请求    
  289.         xhr.send();    
  290.     
  291.         //相应    
  292.         xhr.onreadystatechange = function() {    
  293.             if (xhr.readyState == 4 && xhr.status == 200) {    
  294.     
  295.                 var jsonResponse = eval("(" + xhr.responseText + ")");    
  296.     
  297.                 //获取写入的tbody的DOM对象    
  298.                 cha(jsonResponse);    
  299.     
  300.             }    
  301.         }    
  302.     
  303.     } else {    
  304.         $("ordername").className = "asc";    
  305.     
  306.     }    
  307.     
  308. }    
  309. </script>    
  310.     
  311.         <style>    
  312. .asc {    
  313.     background-p_w_picpath: url(p_w_picpaths/asc.gif);    
  314.     background-repeat: no-repeat;    
  315. }    
  316.     
  317. .desc {    
  318.     background-p_w_picpath: url(p_w_picpaths/desc.gif);    
  319.     background-repeat: no-repeat;    
  320. }    
  321. </style>    
  322.     </head>    
  323.     
  324.     <body>    
  325.         <div>    
  326.             <h1>    
  327.                 显示所有的员工信息    
  328.             </h1>    
  329.     
  330.             <input type="button" value="采用JSON返回数据显示所有的员工信息" οnclick="findAll(1)" />    
  331.             <input type="button" value="添加用户" οnclick="addEmp()" />    
  332.             <div>    
  333.                 <table border="1px" cellpadding="0" cellspacing="0">    
  334.     
  335.                     <caption>    
  336.                         员工信息表    
  337.                     </caption>    
  338.                     <thead>    
  339.                         <tr>    
  340.                             <th>    
  341.                                 编号    
  342.                             </th>    
  343.                             <th class="asc" id="ordername" οnclick="changeTest()"    
  344.                                 width="55px">    
  345.                                 姓名    
  346.                             </th>    
  347.                             <th>    
  348.                                 岗位    
  349.                             </th>    
  350.                             <th>    
  351.                                 入职时间    
  352.                             </th>    
  353.                             <th>    
  354.                                 领导    
  355.                             </th>    
  356.                             <th>    
  357.                                 薪水    
  358.                             </th>    
  359.                             <th>    
  360.                                 奖金    
  361.                             </th>    
  362.                             <th>    
  363.                                 部门    
  364.                             </th>    
  365.                             <th>    
  366.                                 操作    
  367.                             </th>    
  368.                         </tr>    
  369.                     </thead>    
  370.                     <tbody id="listemps">    
  371.     
  372.                     </tbody>    
  373.                 </table>    
  374.             </div>    
  375.             <div>    
  376.                 <a href="javascript:getpageInfo(1)">首页</a>    
  377.                 <a href="javascript:getpageInfo(2)">上一页</a>    
  378.                 <a href="javascript:getpageInfo(3)">下一页</a>    
  379.                 <a href="javascript:getpageInfo(4)">末页</a>    
  380.             </div>    
  381.             <div id="addemp">    
  382.                 <table width="410" height="198" border="1" align="center">    
  383.                     <tr>    
  384.                         <td width="135" align="right">    
  385.                             编号    
  386.                         </td>    
  387.                         <td width="259">    
  388.                             <label>    
  389.                                 <input type="text" name="empno" id="empno" />    
  390.                             </label>    
  391.                         </td>    
  392.                     </tr>    
  393.                     <tr>    
  394.                         <td align="right">    
  395.                             姓名    
  396.                         </td>    
  397.                         <td>    
  398.                             <input type="text" name="ename" id="ename" />    
  399.                         </td>    
  400.                     </tr>    
  401.                     <tr>    
  402.                         <td align="right">    
  403.                             岗位    
  404.                         </td>    
  405.                         <td>    
  406.                             <input type="text" name="job" id="job" />    
  407.                         </td>    
  408.                     </tr>    
  409.                     <tr>    
  410.                         <td align="right">    
  411.                             入职时间    
  412.                         </td>    
  413.                         <td>    
  414.                             <input type="text" name="hiredate" id="hiredate" />    
  415.                         </td>    
  416.                     </tr>    
  417.                     <tr>    
  418.                         <td align="right">    
  419.                             领导    
  420.                         </td>    
  421.                         <td>    
  422.                             <input type="text" name="mgr" id="mgr" />    
  423.                         </td>    
  424.                     </tr>    
  425.                     <tr>    
  426.                         <td height="25" align="right">    
  427.                             薪水    
  428.                         </td>    
  429.                         <td>    
  430.                             <input type="text" name="sal" id="sal" />    
  431.                         </td>    
  432.                     </tr>    
  433.                     <tr>    
  434.                         <td height="11" align="right">    
  435.                             奖金    
  436.                         </td>    
  437.                         <td>    
  438.                             <input type="text" name="comm" id="comm" />    
  439.                         </td>    
  440.                     </tr>    
  441.                     <tr>    
  442.                         <td height="12" align="right">    
  443.                             部门    
  444.                         </td>    
  445.                         <td>    
  446.                             <select id="sel">    
  447.                                 <option value="10">    
  448.                                     请选择部门    
  449.                                 </option>    
  450.     
  451.                             </select>    
  452.     
  453.     
  454.                         </td>    
  455.                     </tr>    
  456.                     <tr>    
  457.                         <td height="12" colspan="2" align="center">    
  458.                             <input type="button" name="a" id="a" value="提交"    
  459.                                 οnclick="tijiao()" />    
  460.                             <input type="button" name="b" id="b" value="修改"    
  461.                                 οnclick="update()" />    
  462.     
  463.                         </td>    
  464.                     </tr>    
  465.                 </table>    
  466.             </div>    
  467.         </div>    
  468.     </body>    
  469. </html>    


只有JSP的javascript中的代码, 其他代码跟以前连接数据库时的代码是一样的,另外代码可能有一些BUG 望能提一下

本文转载自 http://www.itjianghu.net/120108/40916450011574185.htm