Небольшое отклонение.Ваше поле бина не должно быть логическим.Если у вас был компонент поддержки с полями:
private List<SelectItem> myStringList;
private String myString;
, то вы инициализируете myStringList следующим образом перед загрузкой формы:
myStringList = Arrays.asList(new SelectItem("one", "The Number One"),
new SelectItem("two", "The number two")
);
, тогда вы можете сделать это:
<h:form>
<p:selectOneRadio id="ctlSearchType" value="#{mybean.myString}" layout="grid" columns="3">
<f:selectItems value="#{mybean.myStringList}" />
<p:ajax event="change" update="ctlone,ctltwo"/>
</p:selectOneRadio>
<h:panelGrid id="panelId" style="border:solid 1px black;" >
<p:outputLabel for="ctlone" value="Field one:"/>
<p:inputText value="#{mybean.whatever}" id="ctlone" size="8" maxlength="10" disabled="#{mybean.myString eq 'one'}"/>
<p:outputLabel for="ctltwo" value="Field two:"/>
<p:inputText value="#{mybean.whatevertwo}" id="ctltwo" size="8" maxlength="10" disabled="#{mybean.myString eq 'two'}"/>
</h:panelGrid>
</h:form>