6

我有一个下拉列表p:selectonemenu和一个复选框p:selectbooleancheckbox,当我选择复选框时,我想将其设置selectonemenu为特定值。而且我不希望用户更改它,所以我将selectonemenu disabled属性设置为true. 但是,当它被禁用时,它的值不会出现在请求参数映射中,当我这样做时facescontext.getcurrentinstance().getexternalcontext().getrequestparametermap(),我需要它的值到这个映射。有没有办法解决这个问题?

我为遗留 Servlet 系统编写了一个字体端,它们使用请求映射参数来获取表单属性值。

4

1 回答 1

8

正如 Adrian Mitev 在评论中指出的那样,禁用该selectBooleanCheckbox组件将意味着它不会在表单提交上发布其值。

但是,您可以做的是有一个隐藏的输入字段,您可以在其中将值设置为与复选框相同的托管 bean 属性。

<h:inputHidden id="checkDisabled" value="#{managedBean.someValue}" />

当复选框被禁用时,您可以使用 javascript 设置此隐藏输入的值。

于 2012-04-05T12:03:30.823 回答