📄 xtreeservlet.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 + -