Archetype Created Web Application
contextConfigLocation
classpath:spring/applicationConfig.xml
org.springframework.web.context.ContextLoaderListener
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc/spring-controller.xml
1
springmvc
*.do
<数据库信息 db.properties>
driverClassName=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:orcl
username=scott
password=TIGER
package com.jetair.controller;
import com.jetair.domin.Emp;
import com.jetair.service.EmpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
/**
* Created by 22431 on 2016/8/18.
*/
@Controller
@RequestMapping("/handle")
public class EmpController {
@Autowired
private EmpService empService;
@RequestMapping("/getTree")
@ResponseBody
public List getTree(){
List list = new ArrayList();
Emp treeJob = empService.getTreeJob();
list.add(treeJob);
return list;
}
}
package com.*.service;
import com.jetair.domin.Emp;
public interface EmpService {
Emp getTreeJob();
}
<业务接口实现类 >
package com.*.service.impl;
import com.jetair.domin.Emp;
import com.jetair.mapper.EmpMapper;
import com.jetair.service.EmpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service("empService")
@Transactional(readOnly = true , propagation = Propagation.REQUIRED)
public class EmpServiceImpl implements EmpService {
@Autowired
private EmpMapper empMapper;
public Emp getTreeJob() {
Mapmap = new HashMap();
List empList = empMapper.getTreeJob();
Emp node1 = empList.get(0);
map.put(node1.getEmpno() , node1);
for (int i = 1 ; i < empList.size() ; i++){
Emp emps = empList.get(i);
int key = emps.getMgr();
Emp e = map.get(key);
if(e.getNodes()==null){
e.setNodes(new ArrayList());
}
Emp emp = new Emp();
emp.setEmpno(emps.getEmpno());
emp.setEname(emps.getEname());
emp.setJob(emps.getJob());
emp.setMgr(emps.getMgr());
emp.setHiredate(emps.getHiredate());
emp.setSal(emps.getSal());
emp.setComm(emps.getComm());
emp.setDeptno(emps.getDeptno());
emp.setLevel(emps.getLevel());
e.getNodes().add(emp);
map.put(emps.getEmpno() , emp);
}
return node1;
}
}
package com.jetair.domin;
import java.util.Date;
import java.util.List;
public class Emp {
private int empno;
private String ename;
private String job;
private int mgr;
private Date hiredate;
private int sal;
private int comm;
private int deptno;
private String level;
private Listnodes;
public List getNodes() {
return nodes;
}
public void setNodes(List nodes) {
this.nodes = nodes;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
public int getEmpno() {
return empno;
}
public void setEmpno(int empno) {
this.empno = empno;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public int getMgr() {
return mgr;
}
public void setMgr(int mgr) {
this.mgr = mgr;
}
public Date getHiredate() {
return hiredate;
}
public void setHiredate(Date hiredate) {
this.hiredate = hiredate;
}
public int getSal() {
return sal;
}
public void setSal(int sal) {
this.sal = sal;
}
public int getComm() {
return comm;
}
public void setComm(int comm) {
this.comm = comm;
}
public int getDeptno() {
return deptno;
}
public void setDeptno(int deptno) {
this.deptno = deptno;
}
}

然后就是引入js文件和css文件与image图片
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%--雇员--%>
var setting={ async:{ enable:true, url:"http://localhost:8080/handle/getTree.do", type:"post", }, data:{ key:{ children:"nodes", name:"ename" } }, callback: { onClick: zTreeOnClick }, view:{ fontCss:{ }, showIcon: false, showLine: false } }; function zTreeOnClick(event, treeId, treeNode) { $("#ename").val(treeNode.empno); $("#empno").val(treeNode.ename); $("#job").val(treeNode.job); $("#mgr").val(treeNode.mgr); $("#hiredate").val((new Date(treeNode.hiredate)).Format("yyyy-MM-dd hh:mm:ss")); $("#sal").val(treeNode.sal); $("#comm").val(treeNode.comm); $("#deptno").val(treeNode.deptno); $("#level").val(treeNode.level); } /*初始化ztree控件*/ $(function () { $.fn.zTree.init($("#tree"), setting); }); /* js由毫秒数得到年月日 使用: (new Date(data[i].creationTime)).Format("yyyy-MM-dd hh:mm:ss.S") */ Date.prototype.Format = function (fmt) { var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; };