基於實體模型開發主題管理簡析

2021-07-03 04:47:18 字數 3619 閱讀 4411

實體模型主要實現單錶操作(insert, update, delete, select),凡是需要這4條sql語句要完成的功能,基本上都可以完成。多表處理的,需要用到關係模型,後續專門講述。  前面寫過一篇文章叫「主題切換及其管理」,連線位址為

。 裡面有詳細的模型配置檔案,但只是乙個結果而已,接下來,對其進行詳細剖析,講述如何進進行配置。 12

上面是根節點,描述了模型的基本資訊,幾鼐enable-開頭的標記,主要是為工具提供的引數,使得工具進行處理時,通過這些引數控制對文件的編輯,刪除等處理。   12

3456

78910

1112

1314

1516

1718

1920

< /groups> 1

table-field="true"

定義了其是否是乙個表字段,實體模型物件與資料表是一一對應的,但是實體模型中的字段不一定都是建表所有的。

比如:我們要做乙個使用者管理,其中要做乙個修改密碼的功能,一般來說,修改密碼都有乙個重複輸入密碼的框來進行驗證,避免使用者打入時不小心輸入錯誤,而無法登入的問題。很顯然,我們在做功能的時候是需要有這個域的,但是在資料庫表中,是不需要有這麼個字段的,因此,可以通過配置其屬性table-field="false",來增加這個域,但是以建表的時候,又忽略它。

如此,就可以把模型的字段定義好了。

模型上,有兩種型別的操作物件可以配置,一種是操作,一種是檢視。

下面逐個進行分析:

首先是新建操作 12

3456

78910

1112

1314

1516

1718

1920

21< /operation>

操作的基本描述:  12

3 type="add",是指這個操作的操作型別是什麼,可選的範圍在模型型別定義檔案中獲取,fixed-size表示視窗大小是否允許修改,如果是true,則表示不允許修改,如果是false,則可以修改。modal屬性標明了是否是模式視窗,建議所有的操作都採用模式視窗方式。 12

操作分組,是乙個巢狀結構,也就是說operation-group 節點下面可以有多個operation-group節點,上面只包含了基本的資訊,實際上它下面還有大量的其它屬性可用。  

display-mode表明分組的顯示方式,其值可以為:tab,fieldset,wizard,expander,accordion,carousel等,以控制欄位的顯示方式,實際上,通過配置

display-mode及多層分組可以做出非常漂亮的介面組織形式,強烈建議必須掌握。如果不會用display-mode和operation-group巢狀,做出來的介面只能叫normal,如果會用的話,做出來的介面就是professional,差別是非常大的。

有時,介面中還要引用其它操作或檢視的內容,顯示在當前操作介面中。此時可以在operation-group節點下新增reference節點來完成:1

id為所引用物件的id,type可以有兩種選擇,operation或view,model-id表示引用的模型的id,如果是當前模型,則可以忽略。

當然,引用的內容也有可能來自其它頁面,這個時候可以用屬性url=""的方式進行指定。

好吧,由於我們的主題管理太過簡單,所以這些內容都沒有用到,先跳過之。 12

指操作時用的字段,它只能從group中的field中進行引用。editable="true" 表示是否可編輯,hidden="false"表示是否隱藏。在它下面可以新增子節點input-mode,可以用來指定各種輸入模式,如果不指定則表示用標準的文字輸入框模式1

通過指定輸入模式,可以把我們的介面中的輸入形式豐富起來。  

對於新增操作來說,沒有查詢字段,對於修改和刪除字段,則需要新增查詢字段,一般來說是主鍵,如果不配置查詢字段,後續會非常嚴重!會導致全表刪除或修改。

在修改及刪除中就存在查詢字段,來控制修改的範圍。 12

34< /condition-fields>

其它的操作,基本類似。  12

3456

78910

1112

1314

1516

1718

1920

2122

2324

2526

27< /view>

檢視節點描述,除了基本的資訊之外,需要注意的是type="table",這個型別可以有多種選擇,具體參照模型型別定義檔案  ,這裡的是**。後面定義了分布大小,視窗是否固定大小,是否模式視窗,是否支援前台分頁等。 12

34view-groups中可以有多個group,如果有多個group,支援二層表頭模式,大致如下:

2015-5-27 15:07 上傳

1234567

891011

下面是引用的操作,引用了操作或檢視後,可以在操作列表中顯示相關的按鈕,以便於進行相應的操作。 12

3456

78910

11< /references>

上面就引用了新增,修改刪除,複製新增等操作。具體如下圖所示:

2015-5-27 15:07 上傳

下面是選擇並修改主題的檢視:  ?1

2345

6789

1011

1213

1415

1617

1819

2021

2223

2425

2627

< /view>

從配置可以看到,採用的型別是card型別,也就是卡片。  

由於其渲染方式比較特殊,因此採用下面的配置來修改渲染模板為自定義模板: ?1

2345

< /customize-stage-configs>

theme_card.page的檔案內容如下:   ?1

2345

6789

1011

1213

1415

1617

1819

2021

#@wijdialog("$_$" "$" "" $option $captionbuttons)

#foreach($bean in $modelprocessresult.beans)

#end

#end##dialog

< script>

function dochangetheme(path)}}

< /script>

就產生了下面的視窗:

2015-5-27 15:07 上傳

因此,只需要通過簡單的配置就可以生成非常漂亮的介面。實際上,還支援資料校驗等功能,上面沒有演示。

只要在group下的field節點下,增加下面的節點即可: ?1

234< /validate-rules>

這裡的校驗規則同時支援前後臺校驗,也就是說,js校驗首先會通不過。   如果被使用者禁用了前台校驗,直接向後台提交資料,還會進行一次後台資料校驗,確保資料的合法有效。

當然,上面的文章還只是簡明扼要的講一下,詳細參見開發手冊。

基於實體模型開發主題管理簡析

實體模型主要實現單錶操作 insert,update,delete,select 凡是需要這4條sql語句要完成的功能,基本上都可以完成。多表處理的,需要用到關係模型,後續專門講述。前面寫過一篇文章叫 主題切換及其管理 連線位址為 裡面有詳細的模型配置檔案,但只是乙個結果而已,接下來,對其進行詳細剖...

基於模型開發總結

物件 汽車電子嵌入式應用層開發 環境 simulink 優勢 1.善於處理複雜的時序 邏輯 運算 定點化數 算 2.可以基於pc完成功能驗證測試 3.自動生成的 不存在基本的語法問題 流程 1.需求分析 2.框架設計 3.建模 4.單元測試 5.整合測試 6.系統測試 以上6個步驟需要注意的地方如下...

基於模型開發總結

物件 汽車電子嵌入式應用層開發 環境 simulink 優勢 1.善於處理複雜的時序 邏輯 運算 定點化數 算 2.可以基於pc完成功能驗證測試 3.自動生成的 不存在基本的語法問題 流程 1.需求分析 2.框架設計 3.建模 4.單元測試 5.整合測試 6.系統測試 以上6個步驟需要注意的地方如下...