Moqui 入門案例


創建第一個組件

第一步:

下載並運行框架

1.1:下載地址:https://github.com/moqui/moqui-framework/releases

1.2:初始化框架:

    使用ant load加載---à使用ant run 運行框架。

       也可以使用gradlew命令,gradlew tasks(這個命令好像是安裝gradle)

    然后使用gradlew load---àgradlew run 運行框架。

1.3:訪問:

    使用地址localhost:8080並點擊左下角的Join Don按鈕瀏覽演示環境。

到這里你已經安裝好了moqui,接下來進一步學習吧。

 

 

 

創建一個組件

Moqui依照“配置優於編碼”的原則,創建組件就是創建目錄。Moqui的組件都在:runtime/component下。(base-component)

現在我們將創建名叫tutorial的組件。

創建如下目錄結構:

添加一個界面

制作一個hello world的界面

編碼位置為:runtime/component/tutorial/screen/tutorial.xml

<screen require-authentication="false">

<widgets>

<label type="h1"text="Hello world!"/>

</widgets>

</screen>

 

注:screen中的require-authentication=“false”

    這個屬性如果為true的話,該頁面會被要求授權,也就是出現沒有權限訪問頁面的現象。

    <Widgets>標簽中的內容為界面表現的內容。

以子界面的方式掛載

將這個界面放到某個已經存在的界面的子界面中。Moqui中的URI和功能菜單都是以界面的方式驅動的。

我們使用webroot組件的界面作為根界面。(將我們的頁面作為Webroot的子界面)webroot的位置為:runtime/component/webroot

我們使用webroot下的screen/webroot/apps.xml界面作為根,在subscreens元素下添加一個subscreens-item元素,如下:

 

 

注:除了這種直接在已存在的界面中使用subscreens-item的方式掛載子界面的  方式外,還可以通過“修改數據庫記錄”的方式達到掛載子界面的目的。

主要代碼如下:

 

 

界面內嵌入內容

1:創建一個HTML文件

    位置:runtime/component/tutorial/screen/tutorial/hello.html

2:在screen/tutorial.xml將HTML頁面包含。

使用<render-mode>和<text>(渲染模式為text)標簽聲明html文件。

如圖:

 

 

第二種界面子內容的方式

1:對screen設置include-child-content屬性為“true”。目的是聲明該頁面包含了子內容。

2:在widgets下創建subscreens-active元素。目的是確定界面包含子內容的位置。

 

 

注意:被包含的文件必須放在與這個界面同名的子目錄下例如:

 

 

hello.html文件放在了tutorial.xml同名的tutorial下

第二步:

創建第一個實體

一條實體就等價於數據中的一行記錄。接下來我們定義一個實體,然后使用實體門面模式去使用實體。

    1:創建一個包含tutorialid和description兩個字段的xml實體文件。

位於:runtime/component/tutorial/entity/TutorialEntities.xml如圖:

添加一些數據

1:創建一個實體門面的XML文件(為實體添加數據):

    runtime/component/tutorial/data/TutorialData.xml

如圖:

 

 

2:使用ant load 或者別的命令load,加載數據。

自動查找表單

在tutorial界面下添加一個子界面的XML文件。

位置:runtime/component/tutorial/screen/tutorial/FindTutorial.xml

 

 

使用URL路徑:http://localhost:8080/apps/tutorial/FindTutorial

指定查詢字段

如何按照需要展現description呢?

只需要在form-list中的auto-fields-entity之后添加field元素。

添加一個新建表單

1:在FindTutorial.xml添加一個轉換,

如圖:

這個轉換只是調用了create#Tutorial服務,然后跳轉回了當前界面。

上面的這個服務的名字由兩部分組成,動詞#名詞

    動詞:create,update,store,delete.

    名詞:一個有效的實體。

只要寫成這個樣子,服務門面就會認為這是一個隱式的自動實體服務。

2:添加一個按鈕,點擊后彈出一個隱藏的容器界面。

在之前創建的FindTutorial界面中,添加容器到widget元素內的form-list元素上面,這樣就會在列表表單

 

第三步:

自定義新增服務

上面的transition中使用了create#Tutorial(隱式自動實體服務),下面我們來手動實現一個服務。

定義一個服務,使用默認的自動實體增刪改查實現。

位置為:runtime/component/tutorial/service/tutorial/TutorialServices.xml

 

 

Groovy服務

你也可以使用Groovy腳本實現服務可以如下操作:

   

 

注意:這里服務的Type為script,並且使用location指定腳本的位置。

Location后的資源路徑在下一章中介紹

Groovy腳本內容:

EntityValuetutorial = ec.entity.makeValue("Tutorial")

tutorial.setAll(context)

if (!tutorial.tutorialId) tutorial.setSequencedIdPrimary()

tutorial.create()

         使用Groovy語言時你會用到Moqui中的ExecutionContext類。可以查詢Moqui官方提供的API查詢用法:

    官網文檔位置為:

       http://www.moqui.org/javadoc/index.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM