我有一个下拉列表p:selectonemenu
和一个复选框p:selectbooleancheckbox
,当我选中该复选框时,我想将selectonemenu
设置为特定值。我不希望用户更改它,因此我将selectonemenu
disabled
属性设置为true
。但是,当它被禁用时,它的值不会出现在请求参数映射中,当我执行facescontext.getcurrentinstance().getexternalcontext().getrequestparametermap()
时,我需要它的值到此映射。有办法解决这个问题吗?
我将一个font-end写入一个旧的Servlet系统,在那里他们使用请求映射参数来获取表单属性值。
答案 0 :(得分:8)
正如Adrian Mitev在评论中指出的那样,禁用selectBooleanCheckbox
组件意味着它不会在表单提交上发布其值。
但是你可以做的是有一个隐藏的输入字段,你可以在其中将值设置为与复选框相同的托管bean属性。
<h:inputHidden id="checkDisabled" value="#{managedBean.someValue}" />
使用javascript,您可以在禁用该复选框时设置此隐藏输入的值。