我有我想要讓用戶輸入四個輸入字段,然後創建一個新文檔的XPage中實例化第二託管bean,並立即在同一個頁面上的Dojo數據網格中的文件顯示。我爲所有後端數據使用託管的bean。我有一個bean用於主文檔,第二個bean用於每個相關數據。我將使用UNID將它們綁定在一起。輸入字段都綁定到shipperBean。如何在一個XPage
我的問題是,父母和只有第一子文件被創建。看起來我需要實例化一個新的bean,但我認爲這是爲你完成的,就像在爲你管理。
以我按鈕我有以下SSJS:
var POdata:NotesDatabase = session.getDatabase(database.getServer(), "PO\\PO-data");
lineItemBean.saveLineItem(POdata); //MUST save line item in order to tie Shipper to Line Item
var liUNID = lineItemBean.getThisUNID();
var poUNID = lineItemBean.getParentUNID();
shipperBean.saveShipper(POdata, liUNID, poUNID);
shipperBean.deleteCurrentShipper();
該按鈕執行對錶保持輸入的局部刷新。 saveShipper()方法將bean保存到不同nsf中的新文檔中。 deleteCurrentShipper()方法簡單地將實例變量設置爲null。這會導致它們被清除並準備好下一個文檔。正確更新前端以反映清除值。在第一次之後輸入的任何值都不會保存到新文檔中,儘管它們每次都在前端被清除。
我需要在每次創建新實例,或者我可以重用像我試圖相同的實例?
我應該使用一個POJO,而不是創造它自己?
我不該使用SSJS,做這一切在另一個Java方法和調用?
我應該讓第二個bean成爲第一個屬性嗎?
有什麼簡單的我失蹤了嗎?
「,因爲它似乎沒有爲你的過程增加很多價值」 - 你可以自己管理它,當然,但我認爲在大多數情況下,管理生命週期值得使用bean。 –
感謝您的回答。處理所有這些將會花費我一點時間,但我絕對會更新這些內容,並讓您知道最適合我項目的方法。 –
我通過更改爲POJO或普通舊Java對象並使用構造函數自己創建對象來實現它。我不必像以前那樣把班改成一個大豆。現在我有更好的控制。感謝所有的答案,但是我會和Peter的答案一起去討論,因爲「使用託管bean似乎並沒有增加太多價值」。在這種情況下,我會說這是一個圓孔的方形釘。再次感謝Peter,Frantisek和Knut! –