《管理信息系統(tǒng)》實驗指導(dǎo)
發(fā)布時間:2020-08-09 來源: 不忘初心 點擊:
實驗2
EOS 入門與進階 目的 和要求 1. 了解EOS集成工作環(huán)境; 2. 了解EOS簡單開發(fā)流程; 3. 在EOS中實現(xiàn)數(shù)據(jù)庫連接; 4. 在EOS中實現(xiàn)對數(shù)據(jù)庫的操縱。
背景知識 常用術(shù)語介紹 ? 業(yè)務(wù)邏輯
由開始節(jié)點、結(jié)束節(jié)點、運算邏輯和連線等組成的、能夠完成一定功能的、通過EOS開發(fā)環(huán)境開發(fā)的多個運算邏輯的圖形化邏輯流程。業(yè)務(wù)邏輯通過調(diào)用運算邏輯(如查詢數(shù)據(jù)),將處理后的數(shù)據(jù)返回給展現(xiàn)邏輯。業(yè)務(wù)邏輯還可以調(diào)用其它的業(yè)務(wù)邏輯,這種被業(yè)務(wù)邏輯所調(diào)用的業(yè)務(wù)邏輯叫子業(yè)務(wù)邏輯;镜臉I(yè)務(wù)邏輯如圖2.0-1所表示:
圖2.0-1
基本的業(yè)務(wù)邏輯 ? 展現(xiàn)邏輯
由開始節(jié)點、結(jié)束節(jié)點、業(yè)務(wù)邏輯節(jié)點(表示被調(diào)用的業(yè)務(wù)邏輯,是可選節(jié)點)、頁面節(jié)點和連線等組成的、最終生成用戶界面的圖形化描述的邏輯流程。展現(xiàn)邏輯不能調(diào)用運算邏輯,而只能通過調(diào)用業(yè)務(wù)邏輯完成業(yè)務(wù)功能(如查詢數(shù)據(jù)),業(yè)務(wù)邏輯返回數(shù)據(jù)后,展現(xiàn)邏輯調(diào)用頁面邏輯生成用戶界面。基本的展現(xiàn)邏輯如圖2.0-2所示:
開始節(jié)點 運算邏輯 結(jié)束節(jié)點 連線 開始節(jié)點 連線 業(yè)務(wù)邏輯 頁面邏輯 結(jié)束節(jié)點
圖2.0-2
基本的展現(xiàn)邏輯 ? 頁面邏輯
也即Jsp頁面。主要用于生成用戶界面,基本由HTML、Jsp Tag、CSS和客戶端Javascript等語言代碼組成。
? 數(shù)據(jù)邏輯
用于完成數(shù)據(jù)模型定義的相關(guān)描述文件稱為數(shù)據(jù)邏輯。數(shù)據(jù)邏輯包括數(shù)據(jù)實體、數(shù)據(jù)樹和查詢類型數(shù)據(jù)實體三種類型。
1、 數(shù)據(jù)實體:用于表示數(shù)據(jù)庫物理的表、視圖等的定義。對于表類型的數(shù)據(jù)實體,可以進行查詢、增加、修改和刪除的操作;對視圖類型的數(shù)據(jù)實體,只能進行查詢操作。
2、 數(shù)據(jù)樹:用來表達 EOS 數(shù)據(jù)總線結(jié)構(gòu),節(jié)點由數(shù)據(jù)實體和普通節(jié)點兩種,數(shù)據(jù)實體可以直接把已建好的數(shù)據(jù)實體托拽過來。
3、 查詢類型數(shù)據(jù)實體:顧名思義,就是用于查詢的數(shù)據(jù)實體,是EOS 數(shù)據(jù)總線的一種數(shù)據(jù)格式,功能相當(dāng)與數(shù)據(jù)庫中的視圖,但是不需要在數(shù)據(jù)庫中建視圖,一般用于多表聯(lián)合查詢操作。
? 運算邏輯
又叫BL方法,基于JAVA代碼實現(xiàn),用于完成特定的計算處理任務(wù)。EOS構(gòu)件庫提供基礎(chǔ)的運算邏輯如數(shù)據(jù)查詢、XML節(jié)點操作、日期時間操作、字符串操作等。
? 連線
連接兩圖元之間的、用于表示程序執(zhí)行方向的連線。當(dāng)一個程序流程出現(xiàn)多條線路時,用戶必須在連線上設(shè)置相應(yīng)的條件以決定程序的流向。
? S EOS 構(gòu)件
包括業(yè)務(wù)構(gòu)件、展現(xiàn)構(gòu)件、頁面構(gòu)件、數(shù)據(jù)構(gòu)件、運算構(gòu)件、工作流構(gòu)件等六種構(gòu)件,每一種構(gòu)件都包括一個或多個相應(yīng)的邏輯(如業(yè)務(wù)構(gòu)件包括一個或多個業(yè)務(wù)邏輯)。
? S EOS 構(gòu)件包
由以上六種構(gòu)件(或者其中的幾種)組成,是EOS系統(tǒng)發(fā)布、復(fù)用的基本單位,它由一組相關(guān)的EOS構(gòu)件組成,能夠完成相對獨立、完整的業(yè)務(wù)功能。EOS構(gòu)件包中可以包含一個或多個的EOS構(gòu)件,它相當(dāng)于一組有關(guān)系的構(gòu)件的容器或命名空間(Namespace)。同一個構(gòu)件包的構(gòu)件不能重名。EOS平臺對構(gòu)件的調(diào)用也是首先通過包名來定位構(gòu)件所在的包。
? 業(yè)務(wù)流程
工作流的圖形化描述,用于完成某個包含人工和自動的業(yè)務(wù)活動流程的構(gòu)件,是通過EOS開發(fā)環(huán)境開發(fā)的工作流的圖形化描述。
? 數(shù)據(jù)字典
? 業(yè)務(wù)字典
內(nèi)容和步驟 1. EOS 開發(fā)入門 出自C語言教程中的“Hello world!”已經(jīng)成了所有計算機語言入門教程的經(jīng)典案例,盡管EOS不是計算機語言,在開始介紹EOS產(chǎn)品的機制和原理前,還是通過這個經(jīng)典案例,讓我們開始EOS的最初體驗,以便建立對EOS最基本的感性認識,在此基礎(chǔ)上我們將一起了解基于EOS產(chǎn)品進行應(yīng)用系統(tǒng)開發(fā)的有關(guān)概念、常識以及運行原理。
1.1. d Hello World 案例開發(fā)
1.1.1. 案例描述
和其他標(biāo)準(zhǔn)的J2EE應(yīng)用相似,本案例要完成的工作就是:利用業(yè)務(wù)邏輯獲取信息(或者說生成信息“Hello World!”),然后將這些信息在JSP中展示給用戶。
在本案例的過程中,需要關(guān)注的是操作的過程以及過程中所遇到的各個名詞或概念,并請將所有疑問帶入到后面章節(jié)對EOS開發(fā)相關(guān)原理機制的描述中。
1.1.2.“ “Hello
world !”開發(fā)步驟
在這個例子里我們將利用業(yè)務(wù)邏輯設(shè)置“Hello world!”信息,并通過jsp將這些信息顯示在用戶界面上。
1.1.2.1. 啟動 EOS Studio 通過“開始->程序->Primeton EOS 5->EOS Studio 5.1”啟動EOS開發(fā)的IDE環(huán)境。啟動后,點擊歡迎頁右上角圖標(biāo),進入到EOS Studio的工作區(qū)(以后啟動會自動進入到工作區(qū)界面)。
1.1.2.2. 創(chuàng)建項目――EOSTriping 1) 進入 EOS Studio開發(fā)透視圖; 單擊主菜單項“文件”選擇“新建”->“空EOS項目”,如圖2.1-1所示。
圖2.1-1
創(chuàng)建項目 2) 在彈出的“創(chuàng)建空 EOS項目”視圖中,配置相關(guān)參數(shù)。“項目名稱”:EOSTriping,如圖 2.1-2 所示。
圖2.1-2
項目屬性對話框 3) 單擊【完成】按鈕,系統(tǒng)完成該項目框架的創(chuàng)建后退出。創(chuàng)建結(jié)果如圖 2.1-3所示:
1 、輸入 EOSTriping 2 、點擊【完成】按鈕
點擊此處切換透視圖
圖2.1-3
完成項目創(chuàng)建 【說明】新建項目時,缺省會建立一個pkg的構(gòu)件包,你可以通過鼠標(biāo)右鍵刪除這個構(gòu)件包。
1.1.2.3. 創(chuàng)建構(gòu)件包 1) 在項目資源管理器視圖中,單擊展開“EOSTriping”項目的右鍵菜單,選擇“新建”-> “EOS構(gòu)件包”,如圖 2.1-4 所示。
圖2.1-4
創(chuàng)建構(gòu)件包
2) 在彈出的“創(chuàng)建構(gòu)件包”視圖中,設(shè)置相關(guān)參數(shù)。如圖 2.1-5 所示:
圖2.1-5 創(chuàng)建構(gòu)件包 3) 構(gòu)件包名稱:HelloWorld,點擊【完成】按鈕,結(jié)束創(chuàng)建構(gòu)件包向?qū)А?/p>
1.1.2.4. 創(chuàng)建業(yè)務(wù)邏輯 1) 在“項目資源管理器視圖”中,展開 “EOSTriping?HelloWorld?biz”構(gòu)件,在“biz” 構(gòu)件上點擊右鍵,選擇上下文菜單“新建?業(yè)務(wù)邏輯”,如圖 2.1-6所示:
點擊【完成】按鈕 輸入構(gòu)件包名稱
圖2.1-6
創(chuàng)建業(yè)務(wù)邏輯 2) 在彈出的“創(chuàng)建業(yè)務(wù)邏輯”對話筐中的“文件名”項中輸入“bizHelloWorld”,點擊完成按鈕結(jié)束創(chuàng)建業(yè)務(wù)邏輯向?qū),如圖 2.1-7 所示:
圖2.1-7
創(chuàng)建業(yè)務(wù)邏輯對話框
創(chuàng)建“bizHelloWorld”業(yè)務(wù)邏輯之后,在Studio的“業(yè)務(wù)邏輯編輯器”會自動將剛剛創(chuàng)建的業(yè)務(wù)邏輯打開。
3) 展開“項目資源管理器”視圖中的“引用構(gòu)件包?fcdom?BNNode.class”,選中“BL_setNodeValueBatch”運算邏輯,按住鼠標(biāo)左鍵,將該運算邏輯拖拽到“bizHelloWorld”編輯區(qū)中,如圖 2.1-8 所示:
點擊【完成】按鈕 入 輸入 bizHelloWorld
圖2.1-8
引用構(gòu)件包結(jié)構(gòu) 4) 利用鼠標(biāo)點選業(yè)務(wù)邏輯編輯區(qū)上“選用板”中的“連接線”工具,點擊“開始”圖元,然后點擊“BL_setNodeValueBatch”圖元將“開始”圖元和“BL_setNodeValueBatch”圖元連接起來。利用相同的方法,將“BL_setNodeValueBatch”圖元和結(jié)束圖元連接起來,最終的業(yè)務(wù)邏輯如圖 2.1-9 所示:
圖2.1-9
業(yè)務(wù)邏輯編輯器 5) 雙擊“BL_setNodeValueBatch”運算邏輯圖元,在彈出的“屬性設(shè)置”對話框中,點擊“參數(shù)定義”標(biāo)簽頁面,輸入如圖 2.1-10 所示參數(shù):參數(shù) 1 節(jié)點類型為 EOS Field,節(jié)點路徑為“show/info”(用戶可自定義),參數(shù) 2 節(jié)點類型為常量,節(jié)點值為“Hello world!”(該操作表示將“Hello world!”設(shè)置到 show/info 節(jié)點下) 連接線工具 連接線
圖2.1-10
運算邏輯參數(shù)設(shè)置對話框
6) 雙擊業(yè)務(wù)邏輯編輯器中的“開始”圖元,在彈出的“屬性設(shè)置”對話框中,點擊“接口定義”標(biāo)簽頁,輸入如圖 2.1-11 所示的參數(shù):參數(shù) 1 節(jié)點類型為 EOS Entity(此處也可以設(shè)置為 EOS Field),節(jié)點路徑為 show,表示將設(shè)置的 show/info信息輸出到調(diào)用本業(yè)務(wù)邏輯的邏輯數(shù)據(jù)區(qū)中。
3 、點擊【確定】按鈕 1 、輸入 show/info 2 、輸入 Hello world!
圖2.1-11
業(yè)務(wù)邏輯接口設(shè)置對話框
7) 點擊工具欄中的“保存”按鈕或者使用快捷鍵“Ctrl+S”鍵保存業(yè)務(wù)邏輯。
1.1.2.5. 創(chuàng)建 JSP 頁面 1) 在“項目資源管理器視圖”中,展開 “EOSTriping?HelloWorld?page”構(gòu)件,在“page” 構(gòu)件上點擊右鍵,選擇上下文菜單“新建?jsp 頁面”,Studio 啟動頁面向?qū)В趶棾龅?ldquo;頁面生成向?qū)?rdquo;對話框中,輸入如圖 2.1-12 所示參數(shù),點擊【完成】按鈕結(jié)束創(chuàng)建頁面對話框:
1 、點擊【插入】按鈕 2 、輸入 show 3 、點擊【完成】按鈕
圖2.1-12
創(chuàng)建頁面對話框
點擊【完成】按鈕以后,Studio會提示“要切換到 EOS頁面開發(fā) 透視圖嗎?”,點擊【是】按鈕進入頁面開發(fā)視圖。
2) 在頁面開發(fā)視圖的頁面編輯器中,輸入如下 jsp 代碼:
<%@ include file="/internet/common.jsp"%> <html>
<body>
<div align="center">
<br><font color="red" size="20">
<bean:write property="show/info"/>
</font>
</div>
</body> </html> 3) 點擊工具欄“保存”按鈕或者使用快捷鍵“Ctrl+S”保存 jsp 頁面。
點擊【完成】按鈕 選擇獨立頁面風(fēng)格 入 輸入 helloworld
1.1.2.6. 創(chuàng)建展現(xiàn)邏輯 1) 創(chuàng)建展現(xiàn)邏輯的步驟和創(chuàng)建業(yè)務(wù)邏輯的步驟基本一致。在“項目資源管理器視圖”中,展開 “EOSTriping?HelloWorld?pr”構(gòu)件,在“pr” 構(gòu)件上點擊右鍵,選擇上下文菜單“新建?展現(xiàn)邏輯”。再彈出的“創(chuàng)建展現(xiàn)邏輯”對話框中的“文件名”項中輸入“prHelloWorld”,點擊【完成】按鈕。
2) 將剛剛創(chuàng)建的業(yè)務(wù)邏輯“bizHelloWorld”和頁面“helloworld.jsp”托拽到展現(xiàn)邏輯編輯器中,點選“選用板”中的“連接線”工具,采用和創(chuàng)建業(yè)務(wù)邏輯時的方法,依次將“開始”、“bizHelloWorld”、“helloworld.jsp”和“結(jié)束”圖元連接起來,如圖 2.1-13所示:
圖2.1-13 展現(xiàn)邏輯編輯器 3) 保存剛剛創(chuàng)建的展現(xiàn)邏輯。
1.1.2.7. 編譯部署 1) 保存剛創(chuàng)建編輯的所有文件; 2) 點擊快捷圖標(biāo) 選擇將運行的項目“EOSTriping”,啟動服務(wù)器,如圖2.1-14、15 所示。
圖2.1-14
圖2.1-15
啟動Server 1.1.2.8. 運行 1) 服務(wù)器正常啟動后,打開 IE瀏覽器 。
2) 在 IE瀏覽器地址欄輸入:http://localhost:8080/;用系統(tǒng)管理員 sysadmin,密碼 000000(或者安裝時修改的密碼)登陸,進入到主界面,如圖 2.1-17 所示 。
圖2.1-17
登錄后主頁面 3) 更改地址欄為:
http://localhost:8080/HelloWorld.pr.prHelloWorld.do(注意路徑書寫方式和大小寫),回車;若該項目正常運行,將顯示頁面如圖2.1-18所示。
圖2.1-18
運行結(jié)果
1.1.3. 案例小結(jié)
至此,HelloWorld例子開發(fā)完成,你一只腳也邁入了奇妙的EOS開發(fā)大門,讓我們一起繼續(xù)EOS開發(fā)之旅。根據(jù)以上小例子,我們已經(jīng)對在EOS Studio的開發(fā)方式有了一個初步的認識,可以看出使用EOS Studio進行開發(fā)的基本開發(fā)流程為:
1) 創(chuàng)建項目:指定項目名稱、項目用的 EOS Server和 WEB應(yīng)用目錄。
2) 創(chuàng)建構(gòu)件包:制定構(gòu)件包名,以目錄形式,組織各種構(gòu)件和邏輯的存放,便于Studio 管理,各種構(gòu)件的名稱是可以修改的。
3) 創(chuàng)建業(yè)務(wù)邏輯:編寫邏輯代碼,調(diào)用運算邏輯(BL 方法)將輸入數(shù)據(jù)進行處理,完成業(yè)務(wù)邏輯,并將處理結(jié)果返回給展現(xiàn)邏輯。
4) 創(chuàng)建 JSP 頁面:EOS 應(yīng)用的用戶界面,利用 Jsp Tag 將 RequestContext 數(shù)據(jù)區(qū)中的信息顯示給用戶。
5) 創(chuàng)建展現(xiàn)邏輯:控制程序流程的執(zhí)行,調(diào)用業(yè)務(wù)邏輯獲得處理后的信息,然后調(diào)用頁面邏輯將這些信息返回給用戶。
6) 編譯部署:[項目]菜單欄中構(gòu)選了[自動構(gòu)建],保存即編譯,部署是調(diào)試或運行時 EOS Server 會自動進行熱部署。
7) 運行案例:在 IE 地址欄中輸入“構(gòu)件包名稱.展現(xiàn)構(gòu)件名.展現(xiàn)邏輯文件名.do”形式的 URL(URL 的大小寫要與 Studio 中“構(gòu)件包名稱.展現(xiàn)構(gòu)件名.展現(xiàn)邏輯文件名”的大小寫完全一致),即可完成對 EOS 應(yīng)用的調(diào)用。
2. EOS 開發(fā)進階 通過前面章節(jié)的描述,我們對利用EOS Studio開發(fā)J2EE應(yīng)用的步驟有了個大致的了解,也對EOS的原理概念有了一定認識,于是產(chǎn)生了以下幾個疑問:
1、 真正的應(yīng)用不象“Hello world!”這么簡單,該如何開發(fā)一個典型的數(shù)據(jù)庫應(yīng)用? 2、 應(yīng)用運行過程中,數(shù)據(jù)是怎么傳遞的,圖形化邏輯中設(shè)置的參數(shù)與最終運行時數(shù)據(jù)的傳遞是什么關(guān)系? 3、 在 EOS 中,提供了什么方便快捷的手段,來提高應(yīng)用開發(fā)的效率? 4、 EOS 提供的向?qū)в泻翁攸c? 5、 通過 EOS Studio 開發(fā)的 J2EE 應(yīng)用,是如何打包部署的,又是如何實現(xiàn)應(yīng)用的分布式處理的呢?
帶著這些問題,本章節(jié)將與您一道,基于EOS開發(fā)一個簡單的小型數(shù)據(jù)庫應(yīng)用。并在開發(fā)過程中,對運行原理和數(shù)據(jù)傳遞方式作深入的講解。
2.1. 開發(fā)案例描述 ? 案例的基本需求 在數(shù)據(jù)庫中存在一個客戶資料表,希望通過EOS實現(xiàn)一個簡單的客戶資料維護的功能,能夠進行客戶資料的查詢、增加、修改、刪除。
在查詢功能中,以客戶姓名、性別、出生日期范圍作為查詢條件,其中客戶姓名為模糊查詢,性別為完全匹配查詢且通過下拉列表選取查詢條件,查詢結(jié)果要求分頁處理。
應(yīng)用開發(fā)完成后將其發(fā)布部署到另外的應(yīng)用服務(wù)器中。
? 客戶資料表 CUST的表結(jié)構(gòu) 字段名稱
數(shù)據(jù)類型
數(shù)據(jù)長度
是否主鍵
備
注
c_id char 10 YES 客戶編號 c_name nvarchar 20 NO 客戶姓名 c_sex char 1 NO 1-男,2-女,3-未知 c_birthday date 8 NO 出生日期 c_tel1 nvarchar 15 NO 聯(lián)系電話1 c_tel2 nvarchar 15
聯(lián)系電話2 c_addr nvarchar 50 NO 聯(lián)系地址 c_typ char 1 NO I—INSURED被保人P—POLICY OWNER投保人 注意:為了方便EOS提供的向?qū)幚,?shù)據(jù)庫表必須定義主鍵字段,因為通過EOS的數(shù)據(jù)實體修改、刪除數(shù)據(jù)是根據(jù)主鍵來做為匹配條件的。
2.2. 開發(fā)步驟 2.2.1. 準(zhǔn)備數(shù)據(jù) ? 在實驗一中,已創(chuàng)建保險數(shù)據(jù)庫 insurance,現(xiàn)將其用戶導(dǎo)入 EOS數(shù)據(jù)庫
? 打開 SQL Server2000,選中數(shù)據(jù)庫 insurance,點擊右鍵選擇“所有任務(wù)”—>“導(dǎo)出數(shù)據(jù)”,顯示如 2.2-1所示界面;
? 點擊“下一步”,將目的數(shù)據(jù)庫由“默認”改為“EOS”,如 2.2-2 所示,點擊“下一步”;
? 選擇“從源數(shù)據(jù)庫復(fù)制表和視圖”, 點擊“下一步”,顯示如 2.2-3所示界面;
? 點擊“全選”,選中 insurance 數(shù)據(jù)庫中的全部用戶表,然后點擊“下一步”,完成將 insurance中的表導(dǎo)入 EOS 數(shù)據(jù)庫中。
? 最后點擊“完成”。
圖2.2-1
圖2.2-2
圖2.2-3
2.2.2. 建立數(shù)據(jù)庫連接 1. 參照圖2.2-4,在屏幕右上方的“引用構(gòu)件包”、“數(shù)據(jù)庫連接”與“組織機構(gòu)與角色”三個選項卡中選擇“數(shù)據(jù)庫連接”,即點中“數(shù)”。
2. 點擊“數(shù)據(jù)庫連接”連接窗口下的“新建”按鈕。
3. 輸入如圖2.2-5所示的參數(shù),數(shù)據(jù)庫的用戶名與密碼請咨詢實驗教師。
4. 點擊“測試連接”,顯示成功后,點擊“確定”。
5. 連接成功后,可如圖2.2-6一樣點擊察看數(shù)據(jù)庫的相關(guān)信息。
圖2.2-4
數(shù)據(jù)庫連接
圖2.2-5
數(shù)據(jù)庫連接配置參數(shù) 1、此處選擇數(shù)據(jù)庫連接窗口,點擊“新建”。
2、輸入數(shù)據(jù)連接的配置信息,測試連接成功后,點擊確定。
圖2.2-6 2.2.3. 創(chuàng)建構(gòu)件包 1、 在原有的項目“EOSTriping”上點擊右鍵,選擇上下文菜單“新建?EOS 構(gòu)件包”。
2、 在彈出的“創(chuàng)建構(gòu)件包”對話框中,輸入如圖 2.2-7所示參數(shù):
新建的數(shù)據(jù)庫連接會顯示在列表中,雙擊連接名稱,將列出所有的數(shù)據(jù)庫用戶雙擊連接配置對應(yīng)的用戶名,將列出所有數(shù)據(jù)庫表和視圖 雙擊某個表或視圖,將列出所有字段信息
圖2.2-7
創(chuàng)建構(gòu)件包向?qū)?2.2.4. 導(dǎo)入數(shù)據(jù)實體 1、 在“data”構(gòu)件上點擊右鍵,選擇上下文菜單“新建?導(dǎo)入數(shù)據(jù)實體”,如下圖:
入 輸入 CUSTMgr 不選擇后三項 項 點擊【完成】按鈕
2、 在彈出的“導(dǎo)入數(shù)據(jù)定義”對話框中,選擇 2.2.2 節(jié)建立的數(shù)據(jù)庫連接,將會列出對應(yīng)用戶下的表和視圖,選擇剛剛導(dǎo)入的表“in_customer”,點擊【完成】按鈕。如果剛剛創(chuàng)建的表不在可選列表中,說明 Studio 的數(shù)據(jù)庫配置不正確,可點擊“配置”按鈕重新配置數(shù)據(jù)庫。如圖 2.2-8所示:
圖2.2-8
導(dǎo)入數(shù)據(jù)實體向?qū)?3、 Studio 將自動打開剛剛導(dǎo)入的數(shù)據(jù)實體文件 in_customer.ent(也可通過雙擊“EOSTriping?data?in_customer”打開),在數(shù)據(jù)實體編輯器中,點擊“field”標(biāo)簽頁,然后選擇某映射字段編輯相應(yīng)字段屬性,如圖 2.2-9所示:
3 、點擊【完成】按鈕 點擊這里可配置新連接 2 、選擇需要導(dǎo)入到構(gòu)件包的表 1 、選擇數(shù)據(jù)庫連接
圖2.2-9 數(shù)據(jù)實體編輯器 各字段對應(yīng)WEB頁面參數(shù)表如下:
字段名稱 顯示名稱 顯示格式 默認值 業(yè)務(wù)字典 js 數(shù)據(jù)類型 c_id 客戶編號 無 無 無 數(shù)字 c_name 客戶姓名 無 無 無 無 c_sex 性別 無 無 BNDICT_gender 無 c_tel1 聯(lián)系電話1 無 無 無 電話號碼 c_tel2 聯(lián)系電話2 無 無 無 電話號碼 c_addr 聯(lián)系地址 無 無 無 無 c_birthday 出生日期 yyyy-MM-dd 無 無 日期
4、 保存對數(shù)據(jù)實體修改。
名稱解釋:
數(shù)據(jù)實體:用于描述數(shù)據(jù)庫表結(jié)構(gòu)的文件,其中不僅包括各字段的數(shù)據(jù)類型、長度、是否組件等信息的,而且包括利用向?qū)蓸I(yè)務(wù)功能時所需要的信息如顯示名稱、數(shù)據(jù)類型(主要用于提交表單時候驗證數(shù)據(jù)的有效性)。在EOS中,對數(shù)據(jù)庫的各種操作都是通過這種映射的方式完成的。
業(yè)務(wù)字典:類似于通常的碼表,一個代碼對應(yīng)一個描述,并且對這些代碼進行了分類。例如:性別類數(shù)據(jù)字典包括1-男性、2-女性;學(xué)歷類業(yè)務(wù)字典1-小學(xué)、2-初中、3-高中、4-大專等等。EOS中提供了業(yè)務(wù)字典的管理,用戶可以通過自定義業(yè)務(wù)代碼和業(yè)務(wù)代碼的描述來擴充業(yè)務(wù)字典信息。
選擇相應(yīng)字段,設(shè)置在 字段在 WEB 頁面的顯示屬性
2.2.5. 功能生成向?qū)?/p>
對于案例描述的各個功能,一般的做法需要為每個功能去開發(fā)對應(yīng)的頁面(JSP)、業(yè)務(wù)處理邏輯和展現(xiàn)邏輯,由于本案例屬于典型的信息維護功能,EOS針對此類通用的功能處理要求,設(shè)計了一套方便快捷功能強大的開發(fā)向?qū),讓開發(fā)人員不需要編寫任何Java代碼、展現(xiàn)邏輯、業(yè)務(wù)運算邏輯和JSP頁面邏輯等,而是根據(jù)向?qū)б徊讲降奶崾,通過簡單的設(shè)置就可以一次生成針對數(shù)據(jù)庫中某一張表的查詢、增加、修改、刪除等功能的所有邏輯或代碼文件。
那么,對于本案例的功能,將采用功能向?qū)нM行生成,以下是具體的操作過程:
1、 在剛剛創(chuàng)建的“CUSTMgr”構(gòu)件包上點擊右鍵,選擇上下文中的“新建?單表維護向?qū)?rdquo;。如下圖:
圖2.2.5-1 2、 在“選擇項目中的數(shù)據(jù)實體”項中選擇剛剛導(dǎo)入并修改了 Web 屬性的數(shù)據(jù)實體“in_customer”,點擊【下一步】按鈕。
圖2.2.5-2 3、 這一步驟主要是生成查詢條件輸入頁面的配置信息。點擊“查詢條件字段列表”下的【添加】按鈕增加查詢條件輸入域。該對話框主要設(shè)置查詢條件輸入頁面的顯示方式等信息。如圖 2.2.5-3所示:
圖2.2.5-3
“增加條件字段”頁面屬性對話框 首先選擇查詢條件的字段名稱,然后設(shè)置對應(yīng)該條件字段的其他屬性。
其他參數(shù)項說明如下:
顯示名稱:用于查詢條件輸入元素前面的提示信息。如果在導(dǎo)入數(shù)據(jù)實體后修改了數(shù)據(jù)實體的Web屬性,顯示名稱將自動填充,否則請在這里手動填充。
只讀:是否只是用于頁面顯示而不能輸入。
可以為空:是否允許該條件為空。選擇“是”,用戶不輸入內(nèi)容的情況下,提交頁面表單(form)時不將該字段作為查詢條件;選擇“否”,如果用戶不輸入任何內(nèi)容,則會彈出提示窗口要求輸入。
默認值:頁面表單(form)元素默認的輸入值。
控件類型:用于輸入條件表單(form)元素類型,只能是文本框和下拉框中的一種。
校驗數(shù)據(jù)類型:用于頁面表單(form)提交時js校驗數(shù)據(jù)的有效性,如果校驗不通過,不允許提交form。提供的常用校驗類型包括:數(shù)字、英文字符串、日期時間、郵件地址、身份證、IP地址、電話號碼等 日期時間格式:當(dāng)校驗類型為“日期”或者“時間”格式時有效,指定輸入的日期時間格式。
1 、 點 擊 “ 添加”,設(shè)置條件字段2 、選擇作為查詢條件的字段 3 、設(shè)置條件屬性 4 、點擊“確定”,保存一個條件項 字段匹配方式
長度:允許的最大輸入字節(jié)長度,默認值和數(shù)據(jù)庫定義相等。
精度:當(dāng)校驗類型為“帶長度和精讀的數(shù)字”格式時有效,和長度配合使用。
操作符:指定查詢條件的匹配關(guān)系,包括“等于(=)”,“大于(>)”,“小于(<)”,“大于等于(>=)”,“小于等于(<=)”,“不等于(!=)”,在…之間(between,適用于數(shù)字、日期類型等),模糊匹配(Like,使用于字符類型)
模糊查詢規(guī)則:當(dāng)操作符為“Like”時有效。
業(yè)務(wù)字典:查詢條件的輸入是否來自于業(yè)務(wù)字典。如果是,則需要選擇相應(yīng)的業(yè)務(wù)字典碼,同時“輸入控件類型”只能是下拉框控件。
下拉框數(shù)據(jù)設(shè)置:查詢條件輸入控件是下拉框單不是業(yè)務(wù)字典,而是來自于一個查詢結(jié)果集,則需要將結(jié)果集的數(shù)據(jù)加入下拉框中。具體參數(shù)設(shè)置將在稍后的代碼精解中講解。
在本例中,將利用客戶姓名、性別作為查詢條件,輸入的參數(shù)如圖2.2.5-4和圖2.2.5-5所示:
圖2.2.5-4
“客戶姓名”條件參數(shù) 配方式:Like 模糊規(guī)則:中間匹配點擊【確定】按鈕 來自于實體文件,也可手動輸入
圖2.2.5-5
“性別”條件參數(shù)
4、 如果對查詢條件的參數(shù)設(shè)置不滿意,可雙擊“查詢條件字段列表”中的字段名稱修改參數(shù)。完成兩查詢條件的參數(shù)設(shè)置后,回到查詢向?qū)е鞔翱,設(shè)置其他參數(shù)后點擊【下一步】按鈕,本例中的參數(shù)設(shè)置如圖 2.2.5-6所示:
匹配方式:= 數(shù)據(jù)來自業(yè)務(wù)字典 選擇業(yè)務(wù)字典類別 不 輸 入 性 別時,表示無限制點擊【確定】按鈕
圖2.2.5-6
查詢條件參數(shù) 5、 對于查詢結(jié)果列表不需要顯示表的主鍵,因此去掉“c_id”字段前面的勾;對于增加或者修改功能,要求客戶姓名必須輸入,雙擊“插入/修改(DataForm)字段列表”中的“c_name”字段,將“可以為空”的屬性值改為“否”,參數(shù)設(shè)置分別如圖 2.2.5-7和圖 2.2.5-8所示:
點擊【下一步】按鈕查詢結(jié)果集是否分頁 設(shè)置排序字段排序方式 計算記錄數(shù)和總頁數(shù) 選擇排序字段并點擊增加
圖2.2.5-7
查詢結(jié)果集參數(shù) 選項“ 更新時忽略數(shù)據(jù)中的空值”是指在修改時某值為空,則修改時忽略該值;更多請參看“ 功能及代碼解析”部分關(guān)于BL_updateEntity的說明。
選項“ 自動產(chǎn)生主鍵”的是指在增加操作時,由EOS產(chǎn)生一個唯一的編號做為關(guān)鍵值。多請參看“ 功能及代碼解析”部分關(guān)于BL_getPrimaryKey的說明。
設(shè)置“插入/更新”頁面參數(shù):
示 列表中不顯示 c_id 雙擊設(shè)置頁面參數(shù) 新增客戶記錄時使用 使用不同修改操作方式
圖2.2.5-8
設(shè)置插入/修改時“c_name”字段不能為空
6、 在“生成的邏輯和頁面”對話框中,用戶可指定需要的業(yè)務(wù)功能、去除不需要的功能,還可以更改將要生成的業(yè)務(wù)邏輯、展現(xiàn)邏輯、頁面邏輯等的名稱,本案例不作任何改動,點擊“完成”,如圖 2.2.5-9所示:
新增/ 修改時不能為空
圖2.2.5-9
功能選擇 7、 OK,代碼生成完成。Studio 自動生成基于客戶資料表的查詢、增加、修改、刪除等功能的各個程序文件。
點擊【完成】按鈕
2.2.6. 試用 1、 向?qū)刹僮魍瓿珊,馬上就可以使用生成的功能了。但首先必須得將 EOS Server 啟動,并登錄權(quán)限管理系統(tǒng)才能訪問。請參見“Hello World 案例”部分;
2、 在 項 目 資 源 管 理 器 中 展 開 “ EOSTriping?page ” 構(gòu) 件 , 右 擊“CUSTQueryInput.jsp”頁面,選擇“獲取 URL”菜單(如下圖);
復(fù)制對應(yīng)的URL地址;
3、 打開 IE 瀏覽器,輸入http://localhost:8080回車,用 sysadmin 登錄系統(tǒng)后,將獲得的地址粘貼到 IE地址欄中,回車,運行結(jié)果如下圖所示:
圖3.2.5-12
運行結(jié)果 至此,利用“單表維護向?qū)?rdquo;生成代碼的工作全部結(jié)束,同時還可以點擊“增加、修改、刪除、上頁、下頁”等按鈕,運行這些生成的程序。呵呵,這是一件很有成就感的工作,通過幾個參數(shù)的設(shè)置,就能完成如此多的功能。
通過向?qū)Чδ,我們完成了案例的基本開發(fā),你可以看到各個功能包括對應(yīng)的邏輯文件都具有固定的格式。
需要說明的是:與這個開發(fā)向?qū)涮子幸惶啄0逦募@些模板文件確定了功能中頁面的布局、按鈕形式和位置、頁面效果等等特性,以及邏輯的處理步驟等等。
對于一個具體應(yīng)用項目而言,功能的界面要求和處理邏輯并不一定與EOS提供的缺省模板一致,如果要求生成的功能符合項目對功能界面的要求,則可以去修改EOS提供的模板文件。
練習(xí)題 1. 根據(jù)入門案例的操作步驟,完成Hello World的開發(fā),對EOS開發(fā)環(huán)境有基本了解。
2. 根據(jù)開發(fā)進階案例的操作步驟,實現(xiàn)數(shù)據(jù)庫用戶表的導(dǎo)入、數(shù)據(jù)庫的連接以及對數(shù)據(jù)庫的單表維護操作。
相關(guān)熱詞搜索:管理信息系統(tǒng) 指導(dǎo) 實驗
熱點文章閱讀