/******************************************************************************
?*?標題:在struts里的實現dtree通用樹型結構
?*?作者:蔡毅(caiyi0903@hotmail.com)
?*?時間:2004年12月27日
?*?備注:轉貼請保留這段,謝謝!
?*****************************************************************************/
在這里簡單介紹一下該樹型結構的做法:
1?下載dtree.js文件和dree.css樣式表文件以及一些樹相關的圖片。這里提供附件給大家下載
2?我們看看樹的主要字段:
ID:主鍵
PID:父類ID
NAME:結點名稱
URL:結點連接的URL
TITLE:類似ALT的一種結點顯示內容
TARGET:連接打開的目標
ICON:圖片文件,沒有指定將使用默認的圖片
ICONOPEN:打開結點后的圖片文件,沒有指定將使用默認的圖片
OPEN:boolean類型,結點是否打開。
上面是用來顯示的每個字段的含義,大家應該能看出其通用性了。
3?下面來看看樹的組成文件:
<div?class="dtree">
<%--接收從Action里傳過來的集合,這個集合是封裝了上面的一些屬性--%>
<logic:present?name="treeCol">
<script?type="text/javascript">
??d?=?new?dTree('d');
<logic:iterate?id="treeList"?name="treeCol">
<%--配合struts標簽來添加樹的結點--%>
????????d.add(<bean:write?name="treeList"?property="id"/>,<bean:write?name="treeList"?property="superId"/>,'<bean:write?name="treeList"?property="name"/>','http://www.urlHere.com','','mainFrame','','');
</logic:iterate>
<%--在頁面生成樹結構--%>
??document.write(d);
</logic:present>
</script>
</div>
<%----%>
只需要在action里組裝需要顯示的結點集合,配合迭代標簽和即可實現動態樹的生成了。。
另外,調用d.openAll();可以打開所有結點。
調用d.closeAll();可以關閉所有結點。
調用d.openTo(id);可以打開指定ID的結點
大家有什么疑問可以在評論中說明!!