package org.operamasks.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONArray; import org.operamasks.data.TreeNode; import org.operamasks.data.TreeNodeService; public class OmTreeServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("utf-8"); response.setContentType("text/html"); String method = request.getParameter("method"); String content = request.getParameter("content"); if("position".equals(method)){ getPositon(request, response); }else if("children".equals(content)){ getChildren(request, response); }else if("simpleModel".equals(method)){ getSimpleModel(request, response); } else{ PrintWriter writer = response.getWriter(); String result = "["+ "{"text": "Folder 1"," + ""expanded": true," + ""children":" + "[" + "{"+ ""text": "file 1.1"" + "}," + "{" + ""text": "file 1.2"" + "}" + "]" + "}," + "{" + ""text": "Folder 2"," + ""hasChildren": true" + "}," + "{" + ""text": "file 3"" + "}" + "]"; writer.write(result.toString()); writer.flush(); } } private void getSimpleModel(HttpServletRequest request, HttpServletResponse response) throws IOException { // TODO Auto-generated method stub PrintWriter writer = response.getWriter(); TreeNodeService service =new TreeNodeService(); List<TreeNode> nodes = service.getNodes(); writer.write(JSONArray.fromObject(nodes).toString()); } private void getChildren(HttpServletRequest request, HttpServletResponse response) throws IOException { PrintWriter writer = response.getWriter(); String result = "["+ "{"text": "file 2.1"" + "}," + "{"text": "file 2.2"" + "}" +"]"; writer.write(result.toString()); writer.flush(); } private void getPositon(HttpServletRequest request, HttpServletResponse response) throws IOException { PrintWriter writer = response.getWriter(); String result = "["+ "{"text": "研发"," + ""expanded": true," + ""children":" + "[" + "{"+ ""text": "开发平台部"," + ""children":" + "[" + "{"+ ""text": "部门经理"" + "}," + "{" + ""text": "产品经理"" + "}," + "{"+ ""text": "开发工程师"" + "}" + "]" + "}," + "{" + ""text": "基础平台部"," + ""children":" + "[" + "{"+ ""text": "部门经理"" + "}," + "{" + ""text": "产品经理"" + "}," + "{"+ ""text": "开发工程师"" + "}" + "]" + "}," + "{"+ ""text": "工具平台部"," + ""children":" + "[" + "{"+ ""text": "部门经理"" + "}," + "{" + ""text": "产品经理"" + "}," + "{"+ ""text": "开发工程师"" + "}" + "]" + "}," + "{" + ""text": "测试部"," + ""children":" + "[" + "{"+ ""text": "部门经理"" + "}," + "{" + ""text": "测试人员"" + "}" + "]" + "}" + "]" + "}," + "{" + ""text": "销售"," + ""expanded": true," + ""children":" + "[" + "{"+ ""text": "销售总监"" + "}," + "{" + ""text": "市场分析员"" + "}," + "{"+ ""text": "销售人员"" + "}" + "]" + "}," + "{" + ""text": "人事"," + ""expanded": true," + ""children":" + "[" + "{"+ ""text": "人力资源总监"" + "}," + "{" + ""text": "薪酬管理员"" + "}," + "{"+ ""text": "招聘人员"" + "}" + "]" + "}" + "]"; writer.write(result.toString()); writer.flush(); } }