如何使Primefaces selectonemenu处于禁用状态?

jav*_*aMS 6 jsf primefaces

我需要使用p:selectonemenu并禁用它,即它应该在帖子中提交但它应该是只读的.请注意,我不想使用disabled属性,因为这会阻止发布.

我已经在这个论坛上看到这可以通过使用隐藏字段来实现,但是我不明白这是如何实现的.如果有人能在这方面为我提供一些帮助,我将不胜感激.

<p:inputText id="cpr" value="#{customerbean.customer.cpr}">
    <p:ajax event="change" listener="#{customerbean.fetchCustomerDatafromCBS}" update="nationality address passportno name nationality dob address mailingaddress gender mobileno landlineno otherno email maritalstatus nochildren" immediate="true" >
         <f:param name="cprNumber" value="#{customerbean.customer.cpr}"/>
    </p:ajax>                 
    <f:validator validatorId="cprValidator" />                    
</p:inputText>   


<p:selectOneMenu id="gender" value="#{customerbean.customer.gender}" required="!#{customerbean.disabled}" requiredMessage="#{text['validation.error.required.gender']}" disabled="#{customerbean.disabled}">                      
    <f:selectItem itemLabel="Select One" itemValue="" noSelectionOption="true" />  
    <f:selectItem itemLabel="Male" itemValue="Male" />  
    <f:selectItem itemLabel="Female" itemValue="Female"  />  
</p:selectOneMenu>                

<p:inputText  type="hidden" value="#{customerbean.customer.gender}" />
Run Code Online (Sandbox Code Playgroud)

Rin*_*PJr 5

我已经在这个论坛上看到这可以通过使用隐藏字段来实现,但是我不明白这是如何实现的.

使<p:selectOneMenu>残疾人士,并创建一个<p:inputText type="hidden" value="#{bean.property}" />.该value属性必须与<p:selectOneMenu>.如有必要,请使用相同的转换器.

这样,<p:selectOneMenu>将禁用给用户,但隐藏的值将提交<p:inputText />.


请记住,隐藏的输入仍然是<p:inputText />,因此需要在其值更改时进行更新.为其分配ID,并确保将其添加到update您的<p:ajax />.