Atlassian JIRA 插件開發(四) — 新增 webwork actions

在JIRA開發中一定要意識到如下問題:

  • 一切都是插件;
  • 插件的內容就是module堆砌而成;
  • module可以自己定製;

確定了這些事兒,接下來就比較好辦了。對於Webwork Actions也是jira Plugin的一個既定module,按照其提供的module內容增加上即可。老六樣:module-key、descriptor、Webwork Actions處理class、與處理結果對應的視圖VM,
應給是如下的格式:

這裏寫代碼片

這個一個new Webwork Actions就定義好了。下面講一下其原理:

  1. 一個Webwork Action有一個入口,這個入口就是AAAA!default.jspa,對應在處理class中有一個doDefault()的方法;
  2. 當你在瀏覽器中輸入AAAA!default.jspa時,首先會去atlassian-plugin.xml中查找是否存在AAAA class,然後在此類中查找doDefault方法;
  3. doDefault()中根據返回值,在atlassian-plugin.xml中查找VM,調用對應的VM視圖,那麼你的交互就在此視圖中開始了;
  4. 接下來還有兩個方法doValidator()和doExecute()方法,前者是對視圖中的字段輸入進行校驗,後者是真正的執行內容;
  5. 只有通過doValidator()才能執行doExecute(),這樣根據doExecute()返回值來調用對應的視圖VM,這裏的VM也是在atlassian-plugin.xml中查找;

這樣一個過程已經很清晰了,入口點、校驗、執行等均可以實現了。這裏面分析一下class、vm、xml的關係,xml中沒有具體的實現內容,定義的是plugin的各module的組成部分間的關係,class提供VM展示的數據,VM將用戶的交互內容傳給後臺的class。

待續。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章