⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xtreeservlet.java

📁 请认真阅读您的文件包然后写出其具体功能(至少要20个字)。尽量不要让站长把时间都花费在为您修正说明上。压缩包解压
💻 JAVA
字号:
 package net.jcreate.e3.samples.tree;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.jcreate.e3.tree.Node;

import net.jcreate.e3.tree.TreeDirector;
import net.jcreate.e3.tree.TreeModel;
import net.jcreate.e3.tree.UserDataUncoder;
import net.jcreate.e3.tree.ext.ExtTreeBuilder;
import net.jcreate.e3.tree.support.AbstractNodeComparator;
import net.jcreate.e3.tree.support.AbstractWebTreeModelCreator;
import net.jcreate.e3.tree.support.DefaultTreeDirector;
import net.jcreate.e3.tree.support.ReverseComparator;
import net.jcreate.e3.tree.support.WebTreeNode;
import net.jcreate.e3.web.DispatchServlet;

public class XTreeServlet extends DispatchServlet{

	private static final long serialVersionUID = 1L;

	public void init(ServletConfig pServletConfig) throws ServletException {
		super.init(pServletConfig);
		try {
			DBUtils.initDB();
		} catch (Exception e) {
			e.printStackTrace();
			throw new ServletException(e.getMessage(), e);
		}
		
	}
 

/**
 * 保存修改 按钮作用 
 * @author Administrator
 */
	public void	saveTree(final HttpServletRequest pRequest,
			final HttpServletResponse pResponse) throws Exception{
		String parentChangedOrgs = pRequest.getParameter("parentChangedOrgs");
		if ( parentChangedOrgs == null ){
		  pRequest.getRequestDispatcher("/servlet/xtreeServlet?_actionType=showExtDragTree").forward(pRequest,pResponse);
		  return;
		}
		final String SPLITER = ",";
		StringTokenizer st = new StringTokenizer(parentChangedOrgs, SPLITER);
		//key:orgId value:parentOrgId
		Map changedOrgs = new HashMap();
		while( st.hasMoreTokens() ){
			changedOrgs.put(st.nextToken(), st.nextToken());
		}
		TreeService treeService =  TreeBeanFactory.getTreeService();
		treeService.updateOrgs(changedOrgs);
		pRequest.getRequestDispatcher("/servlet/xtreeServlet?_actionType=showExtDragTree").forward(pRequest,pResponse);
	}

	
	public void	showExtDragTree(final HttpServletRequest pRequest, 
            final HttpServletResponse pResponse) throws Exception{
		TreeService treeService =  TreeBeanFactory.getTreeService();
		List orgs =  treeService.getOrgs();
		UserDataUncoder orgUncoder = new OrgUncoder();
		AbstractWebTreeModelCreator treeModelCreator =
		 new AbstractWebTreeModelCreator(){
			protected Node createNode(Object pUserData, UserDataUncoder pUncoder) {
				Org org = (Org)pUserData;
				WebTreeNode result = new WebTreeNode(org.getName() , "org" + org.getId());
				result.setAction("javascript:openURL('" +
	              "../Index.jsp')" );
				result.setDragable(true);//允许拖
				result.setDropable(true);//允许放
				result.setAttribute("orgID", org.getId());//记录机构的本身ID,和父亲机构ID
				result.setAttribute("oldParentOrgID", org.getParentId());
				result.setAttribute("newParentOrgID", org.getParentId()); 
				return result;
			}
		};
		treeModelCreator.init(pRequest);
		
		TreeModel treeModel = treeModelCreator.create(orgs,orgUncoder);
		TreeDirector director = new DefaultTreeDirector();
		director.setComparator(new ReverseComparator(new AbstractNodeComparator(){
			protected Comparable getComparableProperty(Node pNode) {
				Org org = (Org)pNode.getUserData();
				return new Integer( org.getViewOrder() );
			}
			
		}));
		
		ExtTreeBuilder treeBuilder = new ExtTreeBuilder();
		treeBuilder.init(pRequest);
		treeBuilder.setTitle("特步集团");
		director.build(treeModel, treeBuilder);		
		String treeScript = treeBuilder.getTreeScript();
		pRequest.setAttribute("treeScript", treeScript);
		pRequest.getRequestDispatcher("/e3/samples/tree/DragTree.jsp").forward(pRequest,pResponse);
	}



}

⌨️ 快捷键说明

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