在<h:selectOneRadio>中禁用用户选择

Ang*_*ons 1 jsf jsf-2 jsf-1.2

我试图禁用标签中的用户选择.

    <h:selectOneRadio id="wildcard"   value="#{NewService.isWildCard}" label="#{msg.org_IsWildCard}" readonly="true" layout="lineDirection">              
                                        <f:selectItem id="yes" itemLabel="YES" itemValue="1" />
                                        <f:selectItem id="no" itemLabel="NO" itemValue="0" />                                       
</h:selectOneRadio> 
Run Code Online (Sandbox Code Playgroud)

但是在我的GUI上我仍然可以选择单选按钮值.请告诉我代码中有什么问题.而且BackingBean代码非常简单..我只是在backingBean中传递0或1 ...

请指导我如何禁用用户选择

Bal*_*usC 5

这确实是JSF生成的HTML <input type="radio">元素的不直观行为.您的问题基本上有两种解决方案:

  1. 使用disabled="true"而不是readonly="true":

    <h:selectOneRadio disabled="true">
    
    Run Code Online (Sandbox Code Playgroud)
  2. 添加一个返回false的onclick处理程序:

    <h:selectOneRadio onclick="return false;">
    
    Run Code Online (Sandbox Code Playgroud)