我正在爲Xpages的庫控件工作,並且需要一些幫助來創建。爲xpages開發庫控件
我會創建一個控件,它讀取配置文件並在表格中創建控件,像Editboxes,checkboxgroups等控件。
所以,現在我的問題:
可能我開始從Exlib控件或我必須通過我的自我實現它們呢?
如果我可以從Exlib中使用它們,任何人都可以解釋我的方法嗎?
我希望它清楚我的意思,如果沒有請向我詢問更多信息。
我正在爲Xpages的庫控件工作,並且需要一些幫助來創建。爲xpages開發庫控件
我會創建一個控件,它讀取配置文件並在表格中創建控件,像Editboxes,checkboxgroups等控件。
所以,現在我的問題:
可能我開始從Exlib控件或我必須通過我的自我實現它們呢?
如果我可以從Exlib中使用它們,任何人都可以解釋我的方法嗎?
我希望它清楚我的意思,如果沒有請向我詢問更多信息。
創建自己的組件時,如果您正在密切複製擴展庫組件中已有的某些行爲,我強烈建議您擴展該組件,並添加所需的功能以適應不同的功能。這使得事情變得更容易,你不需要圍繞組件可能放置的每個小場景進行編碼。
但是,如果您正在開發一個與擴展庫或核心組件無關的組件,那麼確保你的組件擴展了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部分發布。
感謝您的回覆。我很長一段時間google了,但nerver在你的博客上發現了這些帖子。我需要用計劃中的Libary Control解決我的問題。非常感謝 –