1. 程式人生 > >javaEE 部門樹狀結構顯示以及要注意的問題

javaEE 部門樹狀結構顯示以及要注意的問題

遞迴顯示部門樹狀結構,部門資訊樹是採用雙親表示法儲存的(不知道的去看資料結構)

一:首先寫個遞迴演算法,在控制檯列印一下看是否正確。

(1)將頂級部門查找出來,作為引數呼叫遞迴函式;

(2)遍歷傳遞過來的頂級部門,先列印名稱,然後遞迴呼叫(因為它的孩子又是幾棵樹),同時每一層呼叫字首加一個空格。

二:下面我們要在jsp介面上顯示,可以將遞迴得到的部門樹放到一個list集合中,然後介面直接顯示就可以了

(1)service層查到所有頂級部門(parent為NULL的),呼叫一個處理函式,然後將處理好的list集合返回;

(2)比較上面的就是new 一個新List集合,作為遞迴函式的引數,每次處理的部門結點add進list中即可。


三:注意的問題

(1)要使用全形中文的空格,因為在jsp介面顯示時英文的空格都會預設為一個空格

(2)還有個問題比較隱蔽,http://blog.csdn.net/u013082989/article/details/50986638在這篇部落格中寫到hibernate懶載入問題,我的處理方式是配置一個過濾器,延長了session的時間,而如果用上面二中的方法,top.setDeptName(prefix+top.getDeptName())這一句中改變了的service層查找出來的原物件deptName,如果後面service再有事務的提交,則資料庫中的資料就會更改了!!!

所以解決方法是copy一份,處理copy物件的資料即可。如下:


相關推薦

javaEE 部門結構顯示以及注意的問題

遞迴顯示部門樹狀結構,部門資訊樹是採用雙親表示法儲存的(不知道的去看資料結構) 一:首先寫個遞迴演算法,在控制檯列印一下看是否正確。 (1)將頂級部門查找出來,作為引數呼叫遞迴函式; (2)遍歷傳遞過

權限模塊_分配權限_顯示結構_頁面中的選中效果

處理 children tro func input Language context image java 權限模塊__分配權限__顯示樹狀結構1 顯示樹狀結構;依賴關系 setPrivilegeUI.jsp <!-- 顯示權限樹 --> &

.net treeview使用方法以及結構的應用

1.首先在窗體中新增一個treeview的控制元件 2.填寫如下程式碼:  protected void Page_Load(object sender, EventArgs e)     {         if(!IsPostBack)         {      

利用checkbox自帶屬性indeterminate構建含部分選中狀態的結構

urn true 監聽 tps 多說 con ont 框架 tree 本來上個月就像發的,但是一直忙啊忙的也沒時間整理,所以拖到了現在。 好吧上面這句就是廢話,我就是感概下。下面是正文。 前段時間在弄一個輕量級的web項目,要構建一個樹狀結構目錄,同時希望能把部分選中的狀態

指定 年-月-日 將其封裝tree結構

樹狀 number abstract ren true fin col else bootstrap Scdp.define(‘Violation.view.ViolationView‘, { extend: ‘Scdp.bootstrap.mvc.AbstractCr

Sql查詢結構下級子節點的數量

leave SQ 樹狀 div where AR light bsp brush --查詢Id為1的所有子節點層數的數量;with cte as ( select id,parentId,0 as Leave from _TestLeave where id = 1  -

php遞迴實現一維陣列轉為指定結構 --- 省市區處理

### 這兩天腦殼痛,一時短路,想不到準備利用遞迴實現這個需求,最後還是要請教同事,回來自己在實現了一遍,並記錄下來 ### 原資料: // { // 廣東省: { // 廣州市: [ // "天河區", // "從化區", // "增城區" // ], // 深

SQL Server 根據結構表生成以/號分割的路由字串

很多情況下,我們有必要把樹形結構進行資料梳理。比如,要方便的過濾出一個父節點下的所有子節點等等。。。 這個時候,我們可以生成一個路徑表字符串,在應用時只需要對該字串進行索引即可達成目的。 目標:按圖示的部門結構樹,獲取本身的完整路徑字串。比如,前道工序部門,其部門程式碼為PDTE,上級部門為PD生產部,按

oracle結構層級查詢小結--connect by等之測試資料

1.建立表 ( dept_id VARCHAR2(32) not null, dept_name VARCHAR2(128), dept_code VARCHAR2(32), par_dept_id VARCHAR2(32),

oracle結構層級查詢小結--connect by等

oracle樹狀結構層級查詢小結--connect by等 一、簡介: (1)oracle樹狀結構查詢即層次遞迴查詢,是sql語句經常用到的。 (2)樹狀結構通常由根節點、父節點、子節點和葉節點組成,簡單來說,一張表中存在兩個欄位,dept_id,par_dept_id,那麼通過找到每一條記錄的

Linux結構檔案詳解

Linux樹狀檔案詳解 /           根目錄 /bin        存放使用者可執行程式 /boot       存放系統啟動時所需檔案、核心檔案 /dev      

【Java程式設計】以結構輸出目錄

以樹狀結構輸出計算機某個指定資料夾下的所有的檔案和子資料夾名稱。 提示:使用File的方法,並結合遞迴實現 程式碼如下: import java.io.File; /** * 以樹狀結構輸出計算機

ztree實現表格風格的結構

var zTreeNodes; var setting = { view: { showLine: false, showIcon: false, addDiyDom: addDiyDom

php 實現遍歷資料夾,返回結構陣列

<?php //遍歷資料夾下所有檔案 define('DS', DIRECTORY_SEPARATOR); //根據

java將結構資料通過map分級(一種思路)

package com.tbxc; public class Product { private Integer id; private String name; private Integer parentId; public Integer getId() { return id; }

PostgreSQL遞迴查詢實現結構查詢

在Postgresql的使用過程中發現了一個很有意思的功能,就是對於需要類似於樹狀結構的結果可以使用遞迴查詢實現。比如說我們常用的公司部門這種資料結構,一般我們設計表結構的時候都是類似下面的SQL,其中parent_id為NULL時表示頂級節點,否則表示上級節點

結構---用jquery的小外掛jquery.treeview實現結構

用jquery的小外掛jquery.treeview實現樹狀結構 步驟: 1)在頁面中引入相應的js、和css檔案(還有相應的圖片) <!-- 1,匯入js與css檔案 -->

C# 樹形遞迴,部門

如果資料庫中存在的department部門表,其中ID為主鍵,PID為父類,Name為部門名稱,設計如下:publicclass department  {      publicint ID { get; set; }      publicint PID { get; s

資料庫的多表連線,自連線,結構查詢

1.左連線(left join)例如:select * from a left join b on (a.id= b.id and a.level = '1' ) =========>a 表資料全部顯示2.右連線(right join)例如:select * from 

oracle之結構的儲存與展示(遞迴查詢)

(一)遞迴 一個過程或函式在其定義或說明中有直接或間接呼叫自身的一種方法。 菲波那切數列就是利用遞迴定義的: ·F0 = 0·F1 = 1 ·Fn = Fn – 1 + Fn – 2 (二)遞迴查詢