實體模型主要實現單錶操作(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個步驟需要注意的地方如下...