我有一個父頁面parentManagedBean
(附加到會話範圍)。點擊這個父頁面上的一個按鈕,彈出一個彈出框,其中有一個childManagedBean
(附加到請求範圍)。JSF以編程方式呈現響應
現在ChildManagedBean
通過JSF託管的物業設施持有對parentManaged
bean的引用。在這個彈出窗口中,用戶選擇填充大值對象的某個選項。我使用childManagedBean
的託管屬性將此大對象的值設置爲parentManagedBean
。
問題是 - 父頁面顯示一個鏈接,點擊一個彈出窗口,選擇彈出窗口,彈出消失並將值設置爲parentManaged
bean。到目前爲止這麼好,但新設置的值需要出現在父頁面上。這是我卡住的地方。如何以編程方式呈現母版頁/呈現頁面,當我在子託管bean?有沒有辦法可以處理父頁面並刷新它?
注:我使用的是JSF 1.1
編輯 -
下面的「重新提交-ING形式」從JavaScript,我看到了舊的形式也越來越重新提交其覆蓋所有的解決方案後,我改變的價值觀。我發現現在是 - 如果我發出一個GET請求,意思就是在子窗口關閉後,如果我進入主窗口並且只需在地址上按回車鍵(發出GET請求我相信),更新的價值 - 更新的價值回來。 所以這裏的重點是 - 如何使用JavaScript發出獲取請求,或者是否有通過JSF做到這一點的更好方法?
小心'document.forms [0]'。因爲文檔可以有多個表單,所以更喜歡'document.formname'。 – BalusC 2010-03-30 11:26:22
非常感謝您的回覆。 我按照您的解釋嘗試瞭解決方案。不幸的是,我看到document.forms ['name']。submit()實際上是提交舊錶單,所以無論我從子頁面更新哪些值並被覆蓋。還有其他技術嗎? – Shamik 2010-03-30 14:10:31
然後用'window.location.reload'嘗試一下,我認爲它會發出一個GET請求。否則,您可以嘗試使用第二種形式(內部無控制),僅用於刷新。當第二個表單被POST時,沒有數據被髮送,所以它不應該覆蓋更新的數據。但這真的很黑,我甚至不知道它是否有效。 – ewernli 2010-03-30 16:15:24