我有一個通常在默認情況下被禁用的控件的facelets頁面,即當頁面首先呈現給客戶端時。這是通過一個EL表達式確定:在呈現頁面JSF組件的值沒有正確地更新到提交時的模型
disabled="#{referenceValue != requestbean.dependentControlValue}" id="notWorking"
之後,用戶可以設置requestbean.dependentControlValue
到referenceValue
和通過一些JavaScript爲從屬控制,部件「notWorking」被啓用。
但是,在提交表單後,notWorking
的值不會更新,這是通過在setter中爲該值添加調試日誌消息來找到的。我可以看到,notWorking
的值是在使用firefox檢查時在請求中設置的。
問題: 我在做什麼錯?
順便說一句:
我知道,根據HTML規範,禁用控件不能成功,這要歸功於StackOverflow的研究。
而且,我從this post知道,那disabled
和rendered
表達式更新模型值之前考慮過,但是我覺得殘疾人表達應當在提交表單評估,以false
。
感謝@BalusC,尤其是對於修改您的所以,使用jsf 2,我只是簡單地使用由依賴控件觸發的部分請求,並重新呈現'notWorking'組件,我怎樣才能用j實現你的解決方案sf1.2? – omilke