2012-07-03 61 views
0

我正在爲Xpages的庫控件工作,並且需要一些幫助來創建。爲xpages開發庫控件

我會創建一個控件,它讀取配置文件並在表格中創建控件,像Editboxes,checkboxgroups等控件。

所以,現在我的問題:

可能我開始從Exlib控件或我必須通過我的自我實現它們呢?

如果我可以從Exlib中使用它們,任何人都可以解釋我的方法嗎?

我希望它清楚我的意思,如果沒有請向我詢問更多信息。

回答

2

創建自己的組件時,如果您正在密切複製擴展庫組件中已有的某些行爲,我強烈建議您擴展該組件,並添加所需的功能以適應不同的功能。這使得事情變得更容易,你不需要圍繞組件可能放置的每個小場景進行編碼。

但是,如果您正在開發一個與擴展庫或核心組件無關的組件,那麼確保你的組件擴展了UIComponent或UIComponentBase。如果走這條路線,你還需要創建自己的渲染器來擴展渲染器。這將構建組件的屏幕顯示。同樣,如果核心組件或擴展庫組件中已經有東西可以模仿你需要的東西,那麼你的渲染器就可以擴展這個渲染器。此外,不要忘記將渲染器定義包含在faces-config文件和xsp-config文件中的組件定義中,否則您的組件將無法工作。

至於從extlib啓動控件....我假設你的意思是你可以在運行時將它們注入頁面。如果是的話,答案絕對是。要輸入文本字段添加到頁面裏有一個容器(即面板,DIV,跨度,等等)與「someContainer」的ID

XspInputText input = new XspInputText(); 
input.setValue("someValue"); 
input.setId("someID"); 
UIComponent container = FacesContext.getCurrentInstance().getViewRoot().findComponent("someContainer"); 
container.getChildren().add(input); 

看到將API的所有核心和擴展庫組件看看XPages Controls Documentation。有關創建自己的組件的更完整教程,請參閱我的博客以在nsf內創建自定義組件,步驟與將它們放入庫中的步驟幾乎相同: Part 1, Part 2並且有一個示例數據庫在第2部分發布。

+0

感謝您的回覆。我很長一段時間google了,但nerver在你的博客上發現了這些帖子。我需要用計劃中的Libary Control解決我的問題。非常感謝 –