📄 treetag.java
字号:
/*
* Created on 2006-7-4 17:00:05
*
* By SinoBest
* Copyright hnisi.com.cn, 2005-2006, All rights reserved.
*/
package cn.com.juneng.system.common.taglib.tree;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.JspException;
import cn.com.juneng.system.common.taglib.HtmlTag;
/**
* @author yehailong
*
*/
public class TreeTag extends HtmlTag {
private ITreeNode root;
private ITreeService treeService;
private String treeName;
private String selectType;
private boolean selectAll;
private String checkedId;
private boolean expand;
private boolean lazy;
public String getCheckedId() {
return checkedId;
}
public void setCheckedId(String checkedId) {
this.checkedId = checkedId;
}
public boolean isExpand() {
return expand;
}
public void setExpand(boolean expand) {
this.expand = expand;
}
public boolean isLazy() {
return lazy;
}
public void setLazy(boolean lazy) {
this.lazy = lazy;
}
public ITreeNode getRoot() {
return root;
}
public void setRoot(ITreeNode root) {
this.root = root;
}
public boolean isSelectAll() {
return selectAll;
}
public void setSelectAll(boolean selectAll) {
this.selectAll = selectAll;
}
public String getSelectType() {
return selectType;
}
public void setSelectType(String selectType) {
this.selectType = selectType;
}
public String getTreeName() {
return treeName;
}
public void setTreeName(String treeName) {
this.treeName = treeName;
}
public ITreeService getTreeService() {
return treeService;
}
public void setTreeService(ITreeService treeService) {
this.treeService = treeService;
}
public int doStartTag() throws JspException {
HttpServletResponse response = (HttpServletResponse) pageContext
.getResponse();
response.setHeader("Pragma", "No-cache");// HTTP 1.1
response.setHeader("Cache-Control", "no-cache");// HTTP 1.0
response.setHeader("Expires", "0");// 防止被proxy
response.setDateHeader("Expires", (new java.util.Date(0)).getTime());
outputWebFxTree();
return SKIP_BODY;
}
public int doEndTag() throws JspException {
this.cleanUp();
try {
// super.getOutput().flush();
} catch (Exception e) {
// ignore
}
return EVAL_PAGE;
}
// WebFxTree
private void outputWebFxTree() throws JspException {
HttpServletRequest request = (HttpServletRequest) pageContext
.getRequest();
println("<script src=\"" + request.getContextPath()
+ "/common/tree/jsre.js\"></script>");
println("<script language=\"javascript\">");
println("_import(\"com.eae.webfx.xtree.WebFXLoadTree\");");
println("_import(\"com.eae.webfx.xtree.WebFXTree\");");
println("_import(\"com.eae.webfx.xtree.WebFXTreeItem\");");
println("_import(\"com.eae.webfx.xtree.WebFXUtil\");");
println("_import(\"com.eae.webfx.xtree.WebFXTreeHandler\");");
println("</script>");
println("<script type=\"text/javascript\">");
// ServletRequest request = pageContext.getRequest();
HttpSession session = pageContext.getSession();
session.setAttribute("TreeService", this.getTreeService());
if (root != null) {
session.setAttribute("ParentNode", root);
} else {
session.removeAttribute("ParentNode");
}
println("var atree = new WebFXLoadTree(\"" + treeName + "\",\""
+ request.getContextPath() + "/treexml?time="
+ System.currentTimeMillis() + "&lazy=" + this.lazy + ""
+ (checkedId == null ? "" : "&checkedId=" + checkedId + "")
+ "\");");
println("atree.build()");
if (this.selectType != null) {
println("WebFXUtil.setSelectType(\"" + this.selectType + "\");");
}
println("WebFXUtil.setSelectAll(" + this.selectAll + ");");
println("atree.onCheck = function (node, tree)");
println("{");
println("node.checkit();");
println("}");
println("function selectNode(){}");
println("var expandFlag = false;");
println("document.ondblclick=function(){");
println("if(!expandFlag){");
println("try{atree.expandAll();}catch(e){}");
println("expandFlag = true;");
println("}else{");
println("try{atree.collapseAll();}catch(e){}");
println("expandFlag = false;");
println("}");
println("}");
// this.expand = false;
if(!this.expand&&!lazy){
this.expand = true;
}
if (this.expand) {
println("var timer;\r\n");
println("function lookup(){\r\n");
println("if(timer)clearTimeout(timer);\r\n");
println("window.status='start to expand the tree...'");
println("timer=setTimeout(goLookup,1000);\r\n");
println("}\r\n");
println("function goLookup(){\r\n");
println("window.status=new Date();\r\n");
println("atree.expandAll();\r\n");
println("window.status='expand the tree is ok!'");
println("expandFlag = true;\r\n");
println("}\r\n");
println("lookup();\r\n");
}
println("window.onerror = function fnErrorTrap(sMsg,sUrl,sLine){\r\n");
println("if(sMsg == \"由于该控件目前不可见、未启用或其类型不允许,因此无法将焦点移向它。\"){\r\n");
println("return true;\r\n");
println("}\r\n");
println("return false;\r\n");
println("}\r\n");
println("</script>");
}
public void cleanUp() {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -