我有一个通常在默认情况下被禁用的控件的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