託管bean是完全相同的是,在運行時使用XPages管理。它們是在第一次打電話時創建的。雖然它們有一個空的構造函數,但faces-config中的managed-properties元素允許您定義值(並且我相信您可以將SSJS代碼添加到faces-config以計算值)。
對象數據源允許您處理什麼時候創建,這意味着它們的範圍可以小於viewScope - 面板或自定義控件。 saveObject方法由Save All Datasources事件調用。實際上,如果您正在編寫對象數據源,您將編寫一個按鈕並調用相關方法,而不是使用簡單的操作。
Java變量可以被回收,但Domino對象只能通過兩種方法回收。第一個是調用recycle()方法,第二個是在每個請求結束時,當會話被回收時。由於recycle()調用回收所有子元素,所有內容都會在請求結束時被回收。這就是爲什麼您不能將Domino對象存儲在作用域變量或其他任何持久對象(即bean)中的原因。請注意,諸如DateTimes,RichTextStyles等對象是會話的子對象,而不是像NotesItem或NotesRichTextItem那樣的更精細的Domino對象。
var tmpVar = new package.TestClass()
只會在當前請求之外持續存在,如果您將tmpVar存儲在某處。如果您在crerateObject方法中使用該代碼,則return tmpVar
會將TestClass的該實例傳遞到數據對象中。