2011-09-07 70 views

回答

1

最初,這是完成的,比方說,歷史原因!我同意這是一個不受歡迎的限制。

但是實際上你不能只刪除限制對話框中:原因是每一個動作都有這樣的代碼:

<action ev:event="xforms-submit-done" ev:observer="my-service-submission"> 

這意味着,如果你創建一個以上的動作,每個動作會註冊完成相同服務的事件處理程序,並且這兩個操作的處理程序都將運行,這將是不正確的行爲。

這裏的,需要的是沿着這些路線的東西:

  • 每個動作,啓動服務時,通過一個唯一的標識符(例如行動的ID),以服務
  • 完成後,唯一的ID傳遞給XForms的提交,完成
  • 事件處理程序的每一個動作可以在此ID過濾
  • 僅用於啓動該服務的行爲的處理程序運行

順便說一下,這需要對XForms引擎進行增強以實現此功能,該功能已經是suggested for XForms 2.0