在b/s結構中實現樹型結構的方法
2023-07-23 08:15:56 1
專利名稱:在b/s結構中實現樹型結構的方法
技術領域:
本發明涉及計算機應用領域,尤其涉及一種在B/S結構中實現樹型結構的方法。
背景技術:
樹的文件有兩個類一個是tree,一個是treeitem。一個tree類提供了一個用樹形結構分層顯示數據的視圖。樹中最基本的對象叫做節點,它表示在給定的層次結構中的數據項。從圖中可以看出,數以垂直的方式顯示數據,每行顯示一個節點。樹中只有一個根節點,所有其他節點從這裡引出。除根節點外,其他節點分為兩類一類是帶子節點的分支節點,另一類是不帶子節點的葉子節點。每一個節點關聯著一個描述該節點的文本標籤和圖像圖標。文本標籤是節點的字符串表示,圖標指明該節點是否葉節點。初始狀態的樹形顯示圖,在默認情形下至顯示根節點和他的直接子節點。用戶可以雙擊分節點的圖表或單擊圖標前的「開關」使該節點擴展或收縮(使他的子節點顯示或不顯示)。
樹形結構在計算機應用領域有已經有了很廣泛的應用,樹形結構可以很清楚的顯示出數據的結構,完成數據的查找定位。但是目前對樹形信息顯示的應用主要只停留在與運行作業系統有關的本地軟體環境上。如桌面環境上的顯示。在目前大力推廣的b/s結構中沒有很好的運行起來。
b/s結構的優勢非常明顯。本地計算機可以不用安裝任何的程序,只使用網頁瀏覽器。就可以對系統進行操作。以往在b/s系統下的樹型結構也可以實現。但一般運用的樹存在問題如下1.大多數都是基於靜態頁面的,不具備動態更新數據的能力。
2.基於動態的頁面的,不能夠承載大量數據的顯示。
3.運用不夠靈活。不能提供良好的接口。不能用於新的系統。
4.需安裝軟體或插件。實際上應用了本地程序的顯示的結構。脫離了b/s的初衷。
發明內容
本發明的目的就是解決使用在b/s系統中最大的難點,即在網絡上對信息的顯示及組織。在網絡上,由於傳輸速度比較慢,界面只能由瀏覽器支持,本發明考慮到不在客戶端安裝插件,解決實時性網絡上的信息的問題。
發明中主要用到了五個層次的技術,本發明可以轉移到各個b/s結構平臺上。
設置生成數據的接口這一層次通過對配置文件信息的設置完成對樹顯示的設置。在這一層次的設置方法為將需要設置的信息寫入配置的ini文件。每次伺服器重新啟動會自動讀取一次設置初始信息,此後此信息將放在內存中以供顯示時候調用。
靜態樣式用戶可以自由配置,主要方面如下1)初始化時打開顯示節點的等級-1表示所有節點0表示顯示根節點1表示顯示1級節點...
2)是否保留根節點。可以不顯示根節點;3)按鈕上字體的字型;4)按鈕上字體大小;5)默認名稱字體顏色,樹中節點文字標籤的默認現實字體顏色;6)當前激活字體顏色。樹中節點文字標籤被單擊後的字體顏色;7)target屬性。樹中的資源被點擊後顯示資源的位置。b/s結構中可以顯示在當前頁位置,新開的瀏覽器中的位置,框架中父層的位置,及制定框架中的其他位置等;8)圖片路徑、圖片位置。樹中由於顯示的節點都是有按鈕圖片顯示的。用戶可以自己設置顯示的圖片。以達到自己的要求;9)數據顯示的距離頂部的象素值;10)菜單距離左側的象素值;11)菜單高度;12)背景色;13)圖標間的距離;14)圖標寬度;15)圖標高度。
動態數據傳入動態數據主要由調用方程序傳入一個列表。將要顯示的數據傳入本發明。傳入主要信息如下節點1父節點id、顯示的在節點中的字符標籤、該節點的樹中代碼、樹節點的層次、數據類型、狀態、節點id、連結id節點2......這些信息可以是從資料庫或其他的方式得到的。
伺服器端的信息採集和樹的生成結構在這一層中,完成了樹生成的函數,本發明在此層次主要運用了兩個部分,一個是節點對象,一個是樹對象,節點對象由樹對象引用。外界只操作樹對象就可以。在這部分主要完成樹生成的內部邏輯操作。為頁面生成部分提供函數接口。節點對象主要完成對傳入的各個節點信息的組織及以記錄各自圖片、連結等問題。
樹對象完成整棵樹的生成操作。生成的時間是在調用者在其他網頁生成時調用的本頁面。
在頁面顯示的腳本語言及腳本中用到的html對象都在這個層中保存,最後調用顯示樹的函數生成代碼。
伺服器端動態頁面生成jsp在這一頁中主要是對生成的頁面布局進行設置,並可以根據布局的不同在當前頁面中對樹的顯示屬性再次進行設置。設置的方法在前面的樹對象中已經提供。
客戶端網頁動態腳本層客戶端充分考慮到在大信息量下的網絡壓力和大信息量下的頁面顯示速度。需要伺服器端傳遞給客戶端的信息儘量少。並且為了解決客戶端的瀏覽器響應比較慢,網絡延遲比較大的問題,選擇在用戶對頁面進行一次請求後將樹的信息下載到本地。再由JavaScript腳本來管理執行。這樣既保證了信息的準確與及時,又保證了用戶操作的方便與舒適。按照這樣的思路需要由將客戶端的樹據信息儘量的減小,在客戶端運行的時候儘量的高效率。
本發明通過一個樹節點的id就可以完全的控制和切換樹的圖片和信息。這裡通過穿入的id值對在靜態頁面中存儲的數據以div的方式控制其顯示。本層的工作主要體現在。
在樹的信息中需要將頁面信息的顯示方式與JavaScript的函數相結合使用才能將頁面中和網絡上傳輸的數據減至最少。
Html靜態頁面的顯示作用。
這一層主要是保存樹中的數據,及配合頁面的腳本進行數據的顯示,在這一層主要用的方法是將樹中的同一個父節點的子節點,以div的形式顯示在頁面中。並且在對顯示的圖標圖片進行命名時儘量考慮到可以切換的方便。將相同的節點的相關數據命名時以相同的id標誌。
本發明的樹對於樹型式的大數據量動態顯示基本達到顯示界面的要求,並且易於移植易於推廣,可以和本地程序的樹型結構相媲美。從而在b/s結構的發展過程中起到了推進的作用。
下面結合附圖對本發明進一步詳細地說明圖1是在B/S結構中實現樹型結構的系統總體結構示意圖;圖2典型的樹結構示意圖。
最佳實施例詳細描述下面參照本發明的附圖,更詳細的描述出本發明的最佳實施例。
圖1所示為在B/S結構中實現樹型結構的系統總體結構示意圖,發明中主要用到了五個層次的技術,本發明可以轉移到各個b/s結構平臺上。在這裡先以應用最廣的java做例子來說明。
1.與生成數據的其他部分的接口。(接口配置文件、調用參數設置)。
2.伺服器端樹數據的採集生成代碼的邏輯處理部件。(java)3.伺服器端動態頁面生成程序。(jsp)4.客戶端頁面動態的腳本語言。(JavaScript)5.客戶端的靜態頁面語法。(Html)典型的樹結構如圖2所示,根據本發明的在B/S結構中實現樹型結構的方法涉及到以下幾個層面的操作設置生成數據的接口這一層次通過對配置文件信息的設置完成對樹顯示的設置。在這一層次的設置方法為將需要設置的信息寫入配置的ini文件。每次伺服器重新啟動會自動讀取一次設置初始信息,此後此信息將放在內存中以供顯示時候調用。
靜態樣式用戶可以自由配置,主要方面如下1)初始化時打開顯示節點的等級-1表示所有節點0表示顯示根節點1表示顯示1級節點...
2)是否保留根節點。可以不顯示根節點;3)按鈕上字體的字型;4)按鈕上字體大小;5)默認名稱字體顏色,樹中節點文字標籤的默認現實字體顏色;6)當前激活字體顏色。樹中節點文字標籤被單擊後的字體顏色;7)target屬性。樹中的資源被點擊後顯示資源的位置。b/s結構中可以顯示在當前頁位置,新開的瀏覽器中的位置,框架中父層的位置,及制定框架中的其他位置等;8)圖片路徑、圖片位置。樹中由於顯示的節點都是有按鈕圖片顯示的。用戶可以自己設置顯示的圖片。以達到自己的要求;9)數據顯示的距離頂部的象素值;10)菜單距離左側的象素值;11)菜單高度;12)背景色;13)圖標間的距離;14)圖標寬度;15)圖標高度。
動態數據傳入動態數據主要由調用方程序傳入一個列表。將要顯示的數據傳入本發明。傳入主要信息如下節點1父節點id、顯示的在節點中的字符標籤、該節點的樹中代碼、樹節點的層次、數據類型、狀態、節點id、連結id節點2......這些信息可以是從資料庫或其他的方式得到的。
伺服器端的信息採集和的生成結構
在這一層中,完成了樹生成的函數,本發明在此層次主要運用了兩個部分,一個是節點對象,一個是樹對象,節點對象由樹對象引用。外界只操作樹對象就可以。在這部分主要完成樹生成的內部邏輯操作。為頁面生成部分提供函數接口。節點對象主要完成對傳入的各個節點信息的組織及以記錄各自圖片、連結等問題。在此對象中有1)對節點信息的添加和管理的方法2)判斷是否是根節點3)判斷是否打開節點4)判斷是否是第一個節點5)判斷是否是最後一個節點6)判斷是否相等樹對象完成整棵樹的生成操作。生成的時間是在調用者在其他網頁生成時調用的本頁面。具體的調用過程在伺服器頁面生成層說明。
本層本對象實現過程主要如下1)設置和管理屬性2)添加樹的根節點3)添加子節點4)獲取節點信息5)顯示腳本6)顯示樹7)顯示節點在頁面顯示的腳本語言及腳本中用到的html對象都在這個層中保存,最後調用顯示樹的函數生成代碼。
伺服器端動態頁面生成jsp在這一頁中主要是對生成的頁面布局進行設置,並可以根據布局的不同在當前頁面中對樹的顯示屬性再次進行設置。設置的方法在前面的樹對象中已經提供。此層的操作流程大致如下。
1)設置頁面的布局2)在頁面引入樹對象。並調用樹的方法進行樹的設置3)將得到的需要顯示的信息放入樹中。
4)調用樹的顯示方法將樹顯示在頁面上。
本層的作用是整合伺服器端的功能。將伺服器端的工作變為伺服器端生成的結果,即客戶端腳本,和html對象放入客戶端。
客戶端網頁動態腳本層客戶端充分考慮到在大信息量下的網絡壓力和大信息量下的頁面顯示速度。需要伺服器端傳遞給客戶端的信息儘量少。並且為了解決客戶端的瀏覽器響應比較慢,網絡延遲比較大的問題,選擇在用戶對頁面進行一次請求後將樹的信息下載到本地。再由JavaScript腳本來管理執行。這樣既保證了信息的準確與及時,又保證了用戶操作的方便與舒適。按照這樣的思路需要由將客戶端的樹據信息儘量的減小,在客戶端運行的時候儘量的高效率。
本發明通過一個樹節點的id就可以完全的控制和切換樹的圖片和信息。這裡通過穿入的id值對在靜態頁面中存儲的數據以div的方式控制其顯示。本層的工作主要體現在。如下的方面。
1)完整的顯示一顆樹。
2)控制樹中各個節點的圖片。
3)控制各個節點的文字顏色。
4)控制各個節點的位置與顯示。
5)執行各個節點的打開與關閉的操作。
6)執行各個節點子節點的控制與操作。
在樹的信息中需要將頁面信息的顯示方式與JavaScript的函數相結合使用才能將頁面中和網絡上傳輸的數據減至最少。
Html靜態頁面的顯示作用。
這一層主要是保存樹中的數據,及配合頁面的腳本進行數據的顯示,在這一層主要用的方法是將樹中的同一個父節點的子節點,以div的形式顯示在頁面中。並且在對顯示的圖標圖片進行命名時儘量考慮到可以切換的方便。將相同的節點的相關數據命名時以相同的id標誌。結構如下div層id,是否顯示
顯示一個節點的表格
前置的圖片
可切換樣式的圖片標明id、節點的相關信息、存儲的打開和關閉狀態圖片的信息、當前顯示的圖片的信息
節點點擊後連結的資源信息,及點擊後樹顯示變換的函數節點文字的id,節點文字的顯示樣式節點需顯示的文字顯示一個節點的表格完
另一個節點的表格
......
另一個節點的表格完
......
div層結束
本發明的樹對於樹型式的大數據量動態顯示基本達到顯示界面的要求,並且易於移植易於推廣,可以和本地程序的樹型結構相媲美。從而在b/s結構的發展過程中起到了推進的作用。
儘管為說明目的公開了本發明的最佳實施例和附圖,但是本領域的技術人員可以理解在不脫離本發明及所附的權利要求的精神和範圍內,各種替換、變化和修改都是可能的。因此,本發明不應局限於最佳實施例和附圖所公開的內容。
權利要求
1.一種在B/S結構中實現樹型結構的方法,具體通過以下方式實現1)設置生成數據的接口通過對配置文件信息的設置完成對樹顯示的設置,將需要設置的信息寫入配置的ini文件;2)用戶自由配置靜態樣式;3)動態數據傳入動態數據由調用方程序傳入一個列表,將要顯示的數據傳入;4)伺服器端的信息採集和的樹生成結構通過運用了兩個部分,一個是節點對象,一個是樹對象,節點對象由樹對象引用,完成了樹生成的函數;5)伺服器端動態頁面生成jsp對生成的頁面布局進行設置,並可以根據布局的不同在當前頁面中對樹的顯示屬性再次進行設置;6)客戶端網頁動態腳本層客戶端選擇在用戶對頁面進行一次請求後將樹的信息下載到本地,通過一個樹節點的id完全的控制和切換樹的圖片和信息,通過穿入的id值對在靜態頁面中存儲的數據以div的方式控制其顯示;7)Html靜態頁面的顯示作用保存樹中的數據,將樹中的同一個父節點的子節點,以div的形式顯示在頁面中,並且配合頁面的腳本進行數據的顯示。
2.根據權利要求1所述的在B/S結構中實現樹型結構的方法,其特徵在於,伺服器端動態頁面生成jsp的操作流程主要有1)設置頁面的布局;2)在頁面引入樹對象,並調用樹的方法進行樹的設置;3)將得到的需要顯示的信息放入樹中;4)調用樹的顯示方法將樹顯示在頁面上。
3.根據權利要求1所述的在B/S結構中實現樹型結構的方法,其特徵在於客戶端網頁動態腳本層,將頁面信息的顯示方式與JavaScript的函數相結合使用,來將頁面中和網絡上傳輸的數據減至最少。
4.根據權利要求1所述的在B/S結構中實現樹型結構的方法,其特徵在於樹對象完成整棵樹的生成操作,生成的時間是在調用者在其他網頁生成時調用的本頁面,本對象實現過程主要如下1)設置和管理屬性2)添加樹的根節點3)添加子節點4)獲取節點信息5)顯示腳本6)顯示樹7)顯示節點
5.根據權利要求1所述的在B/S結構中實現樹型結構的方法,其特徵在於,靜態樣式用戶可以配置以下方面1)初始化時打開顯示節點的等級;2)是否保留根節點;3)按鈕上字體的屬性;4)目標屬性;5)菜單屬性;6)圖標屬性;
6.根據權利要求1所述的在B/S結構中實現樹型結構的方法,其特徵在於動態數據傳入的主要信息有節點的父節點id、顯示的在節點中的字符標籤、該節點的樹中代碼、樹節點的層次、數據類型、狀態、節點id、連結id。
全文摘要
本發明公開了一種在B/S結構中實現樹型結構的方法,具體通過以下方式實現1)設置生成數據的接口,通過對配置文件信息的設置完成對樹顯示的設置,將需要設置的信息寫入配置的ini文件;2)用戶自由配置靜態樣式;3)動態數據傳入,動態數據由調用方程序傳入一個列表,將要顯示的數據傳入;4)伺服器端的信息採集和的樹生成結構,通過運用了節點對象和樹對象,完成了樹生成的函數;5)伺服器端動態頁面生成jsp;6)客戶端網頁動態腳本層,客戶端選擇在用戶對頁面進行一次請求後將樹的信息下載到本地;7)Html靜態頁面的顯示作用,保存樹中的數據,將樹中的同一個父節點的子節點,以div的形式顯示在頁面中,並且配合頁面的腳本進行數據的顯示。
文檔編號G06F17/30GK1614927SQ20041000982
公開日2005年5月11日 申請日期2004年11月18日 優先權日2004年11月18日
發明者馬軼 申請人:北京銳安科技有限公司