2011-07-05 24 views
2

試圖Orbeon 3.9 CE使用Grails 1.3.7集成,使用此處指定推薦的獨立戰爭的部署方法: http://wiki.orbeon.com/forms/doc/developer-guide/xforms-with-java-applications如何正確整合Orbeon和Grails?

其創建的形式和Orbeon窗體生成器觀察後,我把生成的XML的意見/ xforms目錄下的Grails應用程序的根目錄下,並調用文件test.gsp。我還將窗體徽標的圖像文件放在同一個目錄中。我創建了一個war文件,並放置在部署了orbeon.war的Tomcat 7的實例中。當我調用test.gsp時,表單顯示無圖像文件或XForm中指定的任何標籤!

  1. 爲什麼所有標籤都不能渲染?
  2. 我應該在哪裏放置圖像文件等資源以使其顯示?

謝謝!

回答

0

所有靜態文件,如圖像,必須放置在web-app/*/ dir,並使用<g:resource>標記鏈接。

例如,對於圖像,你必須把你的形象(「test.png」)成web-app/images/和使用按照您的GSP代碼:<img src="${resource(dir:'/images/settings', file:'test.png')}">

見文檔此標記:http://grails.org/doc/latest/ref/Tags/resource.html

3

我建議你不要使用Form Builder生成表單,並將源複製到其他地方。它看到3個主要缺陷:

  1. 表單生成器生成的某些元素應該由Form Builder運行時解釋;因此Orbeon Forms在您的代碼生成時不會被Orbeon Forms所理解。我在想fr:view,fr:section等等。
  2. 用於持久性,國際化,PDF生成的表單Runner服務很可能不起作用。
  3. 複製粘貼過程本身不被推薦。

單獨部署假定您使用的是另一個框架,並且您將在文本編輯器中編寫XForms,而Form Builder則針對「表單編寫者」(不一定是開發人員);它使用自己的運行時需要請求Orbeon Forms,也就是那些以/fr開頭的URL。

+0

感謝您的見解!但我們確實希望允許非開發人員開發這些表單。有沒有可以用來實現這一目標的工作流程? – user830208

+1

您可以採用由Form Builder生成的代碼,並在將輸出發送到Orbeon Forms之前編寫解釋fr:*標記的JSP taglib,並用HTML替換它們。這似乎是可行的,但它是一個獨立的項目。您也可以將表單保留在Orbeon網絡應用中,並使用iframe或服務器端包含將其包含在您的頁面中。前者很簡單,但有iframes的缺點;後者更復雜,因爲您需要確保資源(圖像,CSS,JS)得到正確處理,並且該Ajax請求已正確轉發到Orbeon Web應用程序。 – avernet

+0

我應該補充說,如果您使用的是2011年5月25日或之後的每晚構建,那麼您的單獨應用程序可以生成Form Runner元素,並且它們將被Form Runner正確解釋。因此,每晚構建,你可能會更接近你想要做的事情。換句話說,每晚的建築應該注意上面的第1點。 – avernet