treeservlet.java

来自「Ajax 一个动态树的源码」· Java 代码 · 共 80 行

JAVA
80
字号
package dojo.sample;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
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 net.sf.json.JSONException;
import net.sf.json.JSONObject;
import net.sf.json.JSONTokener;

public class TreeServlet extends HttpServlet {

	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		String action = request.getParameter("action");
		System.out.println("action b=>" + action);
		System.out.println("action b=>" + action);
		String data = request.getParameter("data");
		if (action.equalsIgnoreCase("getChildren")) {
			JSONTokener jsonTokener = new JSONTokener(data);
			JSONObject jsonObject = (JSONObject) jsonTokener.nextValue();
			JSONObject parentNodeObject = (JSONObject) jsonObject.get("node");

			response.setContentType("text/json; charset=gb2312");
			PrintWriter out = response.getWriter();
			out.write(getChildren(parentNodeObject));
		} else {
		}
	}

	private String getChildren(JSONObject parentNodeObject) {
		JSONArray result = new JSONArray();
		String parentObjectId = parentNodeObject.getString("objectId");// id 唯一
		// String parentWidgetId = parentNodeObject.getString("widgetId");// dm
		parentObjectId = parentObjectId.equalsIgnoreCase("root") ? ""
				: parentObjectId;
		System.out.println("parentObjectId=>" + parentObjectId);
		// 获取子功能模块
		List listGnmk = this.getGnmkByParent(parentObjectId);
		System.out.println("listGnmk=>" + listGnmk.size());
		if (listGnmk != null) {
			Iterator itGnmk = listGnmk.iterator();
			while (itGnmk.hasNext()) {
				Gnmk qxgnmk = (Gnmk) itGnmk.next();
				try {
					JSONObject jsonGnmkObject = new JSONObject();
					String gnmkbz = qxgnmk.getGnmkbz();
					boolean isFolder = gnmkbz.equalsIgnoreCase("Y") ? true
							: false;
					jsonGnmkObject.put("title", qxgnmk.getGnmkmc());
					jsonGnmkObject.put("isFolder", isFolder);
					jsonGnmkObject.put("widgetId", qxgnmk.getGnmkdm());
					jsonGnmkObject.put("objectId", qxgnmk.getGnmkdm());
					jsonGnmkObject.put("childIconSrc", "images/"
							+ qxgnmk.getGnmktb());
					jsonGnmkObject.put("url", qxgnmk.getGnmklj());
					result.put(jsonGnmkObject);
				} catch (JSONException e) {
					e.printStackTrace();
				}
			}
		}
		return result.toString();
	}

	private List getGnmkByParent(String gnmksj) {
		GnmkDAO gnmkDao = new GnmkDAO();
		return gnmkDao.getGnmkByParent(gnmksj);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?