2012-02-17 55 views
0

我遇到了一個問題,我在名稱屬性中需要傳遞到服務中的變量命名的表單中存在字段,但無法這樣做,因爲我可以'在services.xml中定義它。在Ofbiz的services.xml中定義屬性

這種情況是,我有一個主要的形式,並有通過ajax添加到它的字段的這一小節。這些字段代表一組數據,它們不是強制性的,這意味着某些字段可能爲空。例如,在添加的字段中,我有一個ID字段,數量和檢查編號。用戶可以選擇填寫ID和金額,但不能輸入支票號碼。可以有多行ID,數量和檢查號碼添加到主窗體。

起初我使用相同的名稱命名所有這些字段,並將它們作爲列表傳遞給服務。它很好,直到我發現如果我不填寫檢查號,檢查沒有列表實際上將是空的,而不是一個空字符串的列表。這引起了我的問題在服務中正確映射它們。

然後我試着用舊的方法,即在一個隱藏的字段中有一個計數器,並讓它們用代表計數器的後綴命名。然後我發現我無法動態定義services.xml中的屬性

有沒有人遇到過這樣的問題?任何建議或幫助?

+0

好吧,我發現沒有辦法,我可以這樣做。在調用服務之前,更改爲使用Event函數進行過濾。 – ipohfly 2012-02-29 11:28:22

+0

好的。會做的。謝謝。 – ipohfly 2012-09-10 09:27:10

回答

0

我用來解決這個問題的解決方法是在調用服務執行實際處理之前添加一個事件類來過濾請求。通過這種方式,我可以以原始格式獲取參數,並且不依賴Ofbiz服務定義爲我獲取值。

0

您可以在服務定義ie.services.xml文件 中將所有可選字段標記爲可選字段,例如:attribute name =「check no」type =「String」mode =「IN」optional =「true」/>