2012-06-18 153 views
0

我已經看到一些從現有蓮花設計(窗體& Views)自動生成xpages的工具...使用DXL輸出器& XML轉換或任何其他。創建動態X頁面

由於我是Xpage的新手,我很想知道如何創建一個Xpage動態?

在此先感謝。

回答

2

XPage只是一個擴展名爲.xsp的文件中的XML,這裏沒有任何技巧只是將正確的XML輸出到文件中。這些工具會將現有控件轉換爲XPage控件或已經可以使用的控件,只需將它們包裝在我想象的容器中即可。

然而,最好的方法是手動對這些代碼進行編碼,因爲依靠這些工具爲您創建XPage會帶來很多好處。這些工具通常是,將採取太長了重寫或他們是根據遺留代碼等

類似的問題,有人問如何做到這一點,我在這裏回答了大規模應用:

How to convert forms to xpages programatically?

+0

我同意手動代碼是非常不錯的,同時生成動態Xpages將幫助我們創建應用程序與越來越多的領域與少funtionalities。 – Mythli

+0

如果您有一個現有的筆記應用程序,並且您需要快速完成,那麼請使用該工具或按照我在其他文章中的示例進行操作。但是,如果您的最終目標是將您的應用程序升級到XPages以充分利用它提供的所有優勢,那麼您將無需重新創建它,您仍然可以使用視圖,表單和代理,但UI和一些邏輯需要要被更新。如果沒有這樣做,你將無法使用許多功能,例如ExtLib中的新移動和社交控件,這是大多數人正在使用 –

+0

,沒有任何魔術解決方案可以提供兩者中最好的,你將需要決定你的業務案例是什麼升級,然後去與該選項 –

2

有沒有辦法(至少不是沒有大量的黑客)創建XPages在飛行中。 XML只是設計人員創建的Java源代碼的「源代碼」,然後在構建應用程序時編譯。

由於XPages中都少不了JSF的實現,你可以寫,可以在運行時操作組件樹注入控制等Java類但這並不是一個簡單的任務。

0

如果你是新來的XPages我會強烈建議你加快速度在試圖建立的東西,將採取動態方式/意見,並轉換成的XPages在飛行之前建立的XPages。那些做過這種事的人已經積累了相當多的關於構建XPage應用程序和實際完成所有代碼的Java類的知識,以及瞭解XPage中可以或不可以完成哪些客戶端功能以及如何解決它。例如,採用@Prompt或@DialogBox或LotusScript等價物。這需要運行SSJS,然後在繼續使用代碼之前等待用戶的響應。這可能超出了許多有經驗的XPage開發人員,更不用說XPage的新人了。如果您有相當多的Java經驗,那麼您可能會遇到一些問題,但除此之外,我會強烈建議您在嘗試運行之前學習走路。

+0

我完全不同意這個答案。我和OP完全相同,我認爲,儘管沒有長時間使用XPage,但我希望能夠回答如何編譯動態生成的XPage源代碼。 –

+0

構建過程將XPage的XML「源」轉換爲.java類,該類會被編譯到.class文件中,這是服務器/ Notes客戶端運行的內容。如果你編輯這些。java文件,應用程序的任何版本都會覆蓋您的更改。就我所知,您無法將代碼注入這些文件。正如Jeremy所說,您需要在運行時操作組件樹。除了Jeremy所說的之外,在部分刷新之後,您可能需要重新注入它們,可能會檢索Java中的compositeData。 OSGi插件可能比NSF更適合代碼庫。 –