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(); } }