package book.treeview;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
public class treeviewRender {
static public String renderStatic(TreeviewElement treeElmt, boolean bHidden) {
StringBuffer content = new StringBuffer();
content.append("<li id=" + treeElmt.getID() + ">");//显示li元素
if (bHidden && treeElmt.canExpand())//如果可以展开并且初始化为隐藏,则显示展开图片,并添加showHide事件
content.append("<img src=images/plus.gif onClick=\"showHide('"
+ treeElmt.getID() + "')\">");
else if (treeElmt.canExpand())//如果可以展开,则显示折叠图片,并添加showHide事件
content.append("<img src=images/minus.gif onClick=\"showHide('"
+ treeElmt.getID() + "')\">");
else//否则显示空白图片
content.append("<img src=images/blank.gif>");
content.append("<img src=images/folder.gif><a href=\"#\"");//添加文件夹图片
if (treeElmt.canExpand())//如果可以展开,为节点添加showHide事件
content.append("onClick=\"showHide('" + treeElmt.getID() + "')\"");
content.append(">" + treeElmt.getNodeName() + "</a>");
if (treeElmt.canExpand()) {//如果可以展开,则用UL标记显示子结点
content.append("<ul");
if (bHidden)
content.append(" style=\"display:none;\" ");
content.append(">");
TreeviewElement[] elmts = treeElmt.getChildren();//获得此结点的子节点
for (int i = 0; i < elmts.length; i++)
content.append(renderStatic(elmts[i], bHidden));//递归调用显示子节点
content.append("</ul>");
}
content.append("</li>");//结束显示<li>元素
return content.toString();
}
static public TreeviewElement[] getTopCategory() {//得到父类id为0的子类集合
String sql = "select category_id from product_category where parent_category_id=0";
ResultSet rs = DbManager.getResultSet(sql);//执行sql语句并返回ResultSet
try {
rs.last();// 移动到最后一行
int row = rs.getRow();// 得到总记录数
if (row <= 0) {
return null;
} else {
Vector vData = new Vector();
rs.beforeFirst();
while (rs.next())
vData.add("" + rs.getInt("CATEGORY_ID"));
TreeviewElement[] children = new TreeviewElement[vData.size()];
for (int i = 0; i < vData.size(); i++) {
int id = Integer.parseInt((String) vData.get(i));
children[i] = new Category(id);
}
return children;
}
} catch (SQLException e) {
e.printStackTrace();
return null;
} finally {
try {// 最后关闭ResutltSet,Statement.并释放连接
if (rs != null)
rs.close();
if (rs.getStatement() != null)
rs.getStatement().close();
DbManager.releaseConnection();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
static public String renderSimple(TreeviewElement treeElmt) {//循环显示父类下的所有子类集合
StringBuffer content = new StringBuffer();
content.append("<li id=" + treeElmt.getID() + "><a href=\"#\">");
content.append( treeElmt.getNodeName() + "</a>");
if (treeElmt.canExpand()) {
content.append("<ul>");
TreeviewElement[] elmts = treeElmt.getChildren();
for (int i = 0; i < elmts.length; i++)
content.append(renderSimple(elmts[i]));
content.append("</ul>");
}
content.append("</li>");
return content.toString();
}
static public String renderTreeViewAjax(TreeviewElement treeElmt,boolean bRenderChildren) {
StringBuffer content = new StringBuffer();
content.append("<li id="+treeElmt.getID()+">");
if (treeElmt.canExpand())
content.append("<img src=images/plus.gif onClick=\"getSubTree('"+treeElmt.getID()+"')\">");
else
content.append("<img src=images/blank.gif>");
content.append("<img src=images/folder.gif><a href=\"#\"");
if (treeElmt.canExpand())
content.append(" onClick=\"getSubTree('"+treeElmt.getID()+"')\"");
content.append(">"+treeElmt.getNodeName()+"</a>");
if ( bRenderChildren&&treeElmt.canExpand( ))
{
content.append("<ul>");
TreeviewElement[] elmts = treeElmt.getChildren();
for (int i=0;i<elmts.length;i++)
content.append(renderTreeViewAjax(elmts[i],false));
content.append("</ul>");
}
content.append("</li>");
return content.toString();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
java实现无限级分类树形,连接mysql数据库
共32个文件
gif:6个
class:5个
java:5个
4星 · 超过85%的资源 需积分: 48 77 下载量 67 浏览量
2010-10-26
16:46:30
上传
评论 1
收藏 251KB RAR 举报
温馨提示
java 树形菜单 无限级分类 连接mysql数据库,实现ajax异步刷新,需要的朋友不要错过!1分的资源分,物超所值!
资源推荐
资源详情
资源评论
收起资源包目录
TreeWiewDemo.rar (32个子文件)
TreeWiewDemo
.project 1KB
.settings
org.eclipse.core.resources.prefs 223B
.mymetadata 309B
WebRoot
dynamicTree.jsp 678B
css
tree.css 453B
simpleTree.jsp 554B
WEB-INF
web.xml 567B
lib
mysql.jar 231KB
classes
book
treeview
TreeviewElement.class 277B
DbManager.class 2KB
treeviewRender.class 5KB
TreeviewServlet.class 2KB
Category.class 5KB
META-INF
MANIFEST.MF 39B
staticTree.jsp 587B
images
blank.gif 54B
plus.gif 200B
minus.gif 197B
sheet.gif 75B
loading.gif 2KB
Thumbs.db 13KB
folder.gif 572B
js
all.js 3KB
ajax.js 4KB
folder-tree-static.js 8KB
db.sql 1KB
.myeclipse
src
book
treeview
TreeviewServlet.java 1KB
treeviewRender.java 4KB
TreeviewElement.java 265B
Category.java 4KB
DbManager.java 2KB
.classpath 408B
共 32 条
- 1
mengzhe1208
- 粉丝: 2
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页