Open-JWeb(Java Web)
快速開發平臺用戶操作手冊
王保政
QQ:29803446
聲明:從即日
說明:
1、本文中的紅字部分為待實現功能。藍字部分為關鍵的正在開發的功能。
2、此快速平臺的出現,證明了 Java Web 應用程序也可以進行 RAD 開發,也縮短了與 .NET 平臺在快速開發方面存在的差距。
一、
????????????
用戶登錄
在瀏覽器地址欄輸入登錄頁面的連接地址: http://localhost:8084/system
說明:如果服務器安裝在別的地址和端口,請根據安裝的地址和端口來訪問登錄頁面。
( 由于本平臺與 CAS 單點登錄進行了集成,所以按 CAS 單點登錄配置的應用和不連接 CAS 的方式,兩種方式訪問的登錄連接是不一樣的,上面的連接地址是不連接 CAS 的訪問方式。 )
登錄的用戶名和口令:
用戶名為 admin, 口令為 123456
登錄頁面:
輸入用戶名和口令后,點登錄按鈕進入系統管理。
二、
????????????
數據字典類型定義
選擇開發平臺 - 系統數據管理 - 數據字典類型定義,此功能維護系統使用的數據字典類型,平臺已預先定義了一些數據字典類型,敬請不要修改和刪除。
下面是功能列表頁面:
用戶在使用數據字典類型定義時,可根據自己的需要來添加業務系統的數據字典類型,例如商品維護需要使用計量單位,則可以增加一個計量單位數據字典類型。
下面演示一個計量單位數據字典類型的添加過程:
點上圖的“新增”按鈕,顯示一個新增頁面:
數據字典類型輸入 PRO_UNIT, 名稱輸入物品計量單位,然后保存。點“返回”按鈕可返回到列表頁面。
l ?????? 修改功能 :
在列表頁面打勾選擇一行記錄,點修改,進入修改頁面,更改相關數據項后保存。注意如果數據字典類型字段的值被其他表引用的話,更改會失敗,通常是更改數據字典類型的名稱。
l ?????? 刪除功能 :
在列表頁面可勾選多行記錄 , 然后點“刪除”功能刪除記錄。
關于列表頁面的翻頁:
所有增刪改查列表頁面都使用了上圖的樣式,點“總數”按鈕顯示總頁數和記錄數,每組顯示 5 頁連接,每頁顯示行數可以自己設置,默認為 10 。
關于列表頁面的排序:
列標題欄帶下劃線的文字可點擊排序,點擊一次按點擊列的升序排列,再點一次按降序排列。見下圖:
關于列表頁面的查詢:
查詢內容為下拉的查詢條件字段,當選擇的查詢條件列為從數據字典字段取值的列或者具有代碼名稱對照的列如:性別 -M ,則右側的字段值為一個下拉選擇框,否則顯示的是文本輸入框,設置好條件后點“查詢”即可顯示查詢結果。如果沒有定義任何查詢列,則按無查詢條件進行查詢。
查詢內容中的下拉字段是可以配置的,即可由用戶來定義這個頁面哪些字段作為查詢條件字段,這個功能將在表字段元數據維護功能中說明。
定制查詢:可定義組合的查詢條件(目前暫未實現)。
幫助:目前暫未實現。
三、
????????????
數據字典定義
功能說明:為每一數據字典類型定義數據字典集合。例如計量單位數據字典類型下可定義公斤、件、箱等物品計量單位。列表頁面見下圖:
以物品計量單位為例,在列表頁面點“新增”按鈕,進入新增頁面,填寫內容后保存,見下圖:
四、
????????????
表基本信息維護
功能說明:
(1) ?????? 新增:增加一個表的說明,此功能維護需要說明的是,表名對應的是數據庫的表名,實體類名是表對應的實體類名 ( 包含類路徑 ) ,這個類是對應此表的實體類,所以一定不要寫錯類名,否則在運行中可能會出錯。
(2) ?????? 修改:選擇一條記錄修改,見下圖:
(3) ?????? 刪除:刪除記錄。
(4) ?????? 定義字段 :定義一個表包含的字段,如果需要使用建表功能,則字段定義完確認無誤后才可以建表(定義字段目前是單獨的一個功能,見下文,此按鈕暫未建立功能連接)。
(5) ?????? 生成庫表 :當表和表字段定義好后,點此按鈕在數據庫中創建表。(此功能正在開發中)。
(6) ?????? 編譯部署 : 當表在數據庫中創建以后,點編譯部署后系統會自動創建 Hibernate 映射文件,生成相應的 POJO 類,及在 EntityContainer 類中注冊此實體,并自動在功能樹中創建功能節點并生成相應的增刪改查頁面(并自動創建訪問權限)。以上操作完成后自動編譯程序。此功能需要在服務器端調用。(目前此功能正在開發中)。
五、
????????????
表字段基本信息維護
(
列表樣式
)
此功能是定義一個表的字段基本信息,在快速開發平臺中,此功能點非常重要,因為字段信息維護不僅定義了用于建表的字段信息,還定義了字段在維護頁面中的展示樣式(如輸入框、下拉框),并定義此字段是否在查詢條件下拉框中顯示,還定義了此字段如果是數據字典取值,則對應哪個數據字典類型,動態創建功能節點將根據此字段的展示樣式來創建 JSP 頁面。
使用此功能維護數據時,可先查詢出需要增加字段的表的記錄,查看哪些字段已添加,然后點新增按鈕定義表字段,見下圖列表頁面:
編輯頁面:
編輯頁面的字段說明:
是否查詢條件列勾選項:用于設置是否在列表頁中的查詢條件下拉框作為查詢條件列顯示。
是否在列表頁面展示下拉框:勾選此項后,在動態生成列表頁面時此字段可在列表頁面顯示。
是否在編輯頁面顯示:勾選此項后,在動態生成編輯頁面時此字段可在編輯頁面顯示。
編輯頁面輸入方式:在動態生成頁面時,此字段對應的輸入欄的輸入方式,包括輸入框、多行輸入框、下拉列表、 checkbox 等樣式,動態生成頁面根據此字段的定義,在生成的頁面中按定義的輸入類型生成對應的頁面元素。
數據字典類型:如果此字段為從數據字典表取值,這里選擇對應的數據字典類型。
代碼表名值對 SQL :如果此字段不是從數據字典中取值,但是關聯到某個表的代碼列,那么此字段的值的取值范圍為關聯表的字段值,顯示名稱則為關聯表對應記錄的名稱列,上圖的 SQL:select dict_type_code,dict_type_name from eas_dict_type 表明此字段的取值范圍是 eas_dict_type 表的 dict_type_code 字段,在下拉列表中的顯示文字對應 dict_type_name 字段。
說明:當通過動態生成增刪改查頁面 4 ,有下拉列表的列會自動根據上面定義的規則創建一個下拉列表。
六、
????????????
內容管理
內容管理的信息編輯與發布功能提供了信息的編輯與發布功能,內容編輯器為所見即所得的編輯界面,可以粘貼 WORD 及 HTML 格式的文件,可以上傳圖片和 flash 文件,信息發布后可自動生成靜態的 HTML 頁面。
此功能可用于網站 CMS 管理系統,博客系統可用于 BLOG 的發布,信息列表頁面如下:
點擊信息標題連接可以查看此信息發布后的靜態 html 頁面。
編輯頁面的樣式:
編輯頁面是所見即所得的頁面,可隨意改變文字的大小,字體及顏色等,也可以插入圖片,保存信息后自動生成靜態 html 文件(同時也保存在數據庫中)。
七、
????????????
功能菜單維護
功能說明:此功能維護動態創建的功能點,通過此功能的 ” 生成功能代碼 ” 按鈕,系統可為選擇的領域對象創建一個增刪改查的頁面,另外自動在功能樹中建立一個功能連接,并且在 WEB-INF/classes 的 xwork.xml 中增加對應的配置代碼。下圖是列表頁面:
編輯頁面:
此頁面定義了一個功能點,功能名為“動態功能測試“,權限碼為 AUTH11, 功能導航條文字及對應的維護對象,本示例為 BLOG 信息表維護。
如何創建功能點?在上面的列表頁面選擇第二條記錄,點生成功能代碼按鈕,刷新頁面時,左側功能樹在動態功能的節點下會增加新的功能節點,點此新的功能節點可以看到一個列表頁,此頁面不同之處在于這是通過頁面模板定制動態生成出來的,在開發過程中使用模板創建頁面非常快速和方便,見下圖:
編輯頁面也是動態創建出來的,見下圖:
上圖中,文字輸入框和下拉列表框都是在表字段基本信息維護中定義好的輸入方式,創建頁面時根據定義的輸入方式來生成不同的頁面元素。
八、
????????????
組織結構與權限-組織結構維護
組織結構維護中維護的基本信息目前僅包括了組織結構名稱和組織結構類型,因為組織結構的詳細信息在具體的項目中有差異,詳細信息的維護可以在二次開發中實現。
組織結構的類型在數據字段已做了定義,大致包括:公司、部門、崗位、子公司、項目組或用戶組、庫房、門店、人員等,甚至可以包括分銷代理商、供應商、客戶等。
功能樹的編碼由系統自動生成。
添加子節點 :選擇一個組織結構樹節點,在此節點下增加一個子節點,如在單位下增加一個部門,或者在部門下增加一個子部門或員工。
添加同級節點 :在所選節點的同一級別下增加一個兄弟節點(有共同的父節點)。
保存 :保存更改(如果節點的名稱改變,左側樹對應的節點名相應地改變)。
刪除 :刪除節點(左側樹中同時刪除對應的節點)。
角色授權 :將指定的角色授予給一個組織結構,最常用的就是將一系列角色授予給一個人。見下圖:
詳細信息維護 :對于公司、部門、個人的詳細信息的內容是不同的,目前實現的是個人登錄帳號的信息維護,在組織結構樹中選擇一個人,然后點擊詳細信息維護,系統顯示用戶登錄帳號信息的維護頁面,見下圖:
用戶口令在數據庫中是以 MD5 加密的方式存儲的。
查看權限 :由于在設計時按照權限疊加的方式進行權限計算,所以這里列出一個組織結構的權限來源和權限匯總。同一權限 ID 可能從上級或上上級節點繼承下來的,也可能是被另外的用戶權限委托過來的,此功能正在開發中。
九、
????????????
角色基本信息維護
定義不同子系統的角色。角色是針對子系統的,權限 ID 也是針對子系統的,同一子系統的角色可獲得屬于本子系統的權限,不允許獲得其他子系統的權限。下面是角色的列表頁面:
編輯頁面:
列表頁面中的 權限分配 按鈕功能是建立角色和權限的對照關系,點此按鈕時彈出一個維護窗口:
組織結構分配功能是將角色授權給哪些組織機構,目前暫未實現,可在組織結構維護中將角色授權給組織機構。
十、
????????????
B
業務說明:在企業的應用系統中,用戶的類型有本企業內部用戶、針對電子商務和
ERP
系統可能有供應商和客戶用戶及分銷代理商客戶,這些類型的用戶量相對比較少,而對于
B
十一、權限基本信息維護
此功能維護權限基本信息,一般權限的分類包括對 Web 資源的授權,如對某頁面的訪問權,對某 Web 目錄的訪問權,功能按鈕的授權,功能連接的操作權限,業務方法的權限,領域對象權限(數據權限)等,此權限的權限編碼統一以 AUTH_ 作為前綴,此權限集合可授權給角色,而角色與用戶是關聯的,因而用戶可間接得到一個權限集合。本平臺集成了 Acegi 安全框架,使用的權限集合就是此功能維護的數據。
十二、
Web
資源授權
此功能是一個非常重要的權限控制功能,可在運行時動態地將一個 WEB 資源的訪問權限授予給指定的權限 ID ,也可以收回。權限更改后在約兩分鐘后生效,不需要重新啟動應用,見下圖:
上面的編輯界面將 web 應用的 testcase 目錄下的所有資源(如 jsp 頁面,其他文件等)
的訪問權限授予給 AUTH_USER 和 AUTH_ADMIN 權限,如果登錄用戶沒有這兩個權限中的一個權限則不能訪問 testcase 目錄下的所有內容。從列表頁中看出, index.jsp 被授予給了 AUTH_USER 用戶。利用 acegi 強大的權限管理功能,可以建立一個功能非常權限的權限管理系統。
十三、綜合查詢
(1)綜合查詢后臺維護-數據源定義:
定義綜合查詢報表、圖表使用到的數據源:
業務說明:
企業的綜合查詢系統是關聯到多個數據源的,這里定義報表、圖表的綜合查詢需要訪問的數據源的連接方式。
(2)報表/圖表定義
定義報表/圖表使用的數據源,相應的 SQL 語句,圖表展示樣式(如二維餅圖,三維直方圖等)等,列表頁面:
綜合查詢圖表:
平臺的示例中包括了:機組日發電量統計、機組發電量對比分析、機組月份發電量統計、機組日發電量條形圖、機組發電量三維餅圖,查詢日期請從2007年1月1日開始( demo 數據只有一月份的)。
執行查詢后的圖形:
(1) ?? 機組日發電量統計曲線圖
(2) ?? 機組發電量對比分析
(3) 機組月份發電量統計
(4) 機組日發電量條形圖
(5) 機組發電量三維餅圖
綜合查詢-報表:
報表是基于 JasperReport 開發的報表,其中生成出來的報表直接按照 PDF 格式展示(正常支持中文),可在功能樹中點綜合查詢(報表)下的報表功能點,在頁面中點執行查詢(按條件檢索的功能正在進行開發)。
十三、其他說明
以上開發的內容從2007年11月19日開始,到2008年1月18日截止,利用業余時間開發,歷時兩個月時間,產品命名為 Open-JWeb, 版本為 1.0 版,主要實現了增刪改查快速開發功能和權限管理,這個將作為 JavaWeb 應用快速開發的最基礎的平臺,以后的業務平臺,工作流平臺, BI 工具等將在繼續在此基礎上進行開發。基礎平臺與其他平臺應該是松耦合的。
本平臺在技術上采用了 Spring+struts+webwork+hibernate+acegi+dwr 技術,其中針對樹形列表的頁面及在線編輯器部分采用了 struts 控制層,增刪改查的控制層和頁面采用了 webwork 作為核心控制層。
本文介紹了本平臺的使用說明,產品平臺的開發手冊在另外的文章里介紹。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
