Да, это, безусловно, возможно. Просто свяжите значение раскрывающегося списка с атрибутом rendered
компонентов, которые будут показаны / скрыты. Вот начальный пример.
<h:form>
<h:selectOneMenu value="#{bean.item}">
<f:selectItem itemLabel="Select..." />
<f:selectItem itemValue="one" />
<f:selectItem itemValue="two" />
<f:selectItem itemValue="three" />
<f:ajax render="@form" />
</h:selectOneMenu>
<h:panelGroup rendered="#{bean.item == 'one'}">
<p>This will be shown if the selected item equals to "one".</p>
</h:panelGroup>
<h:panelGroup rendered="#{bean.item == 'two'}">
<p>This will be shown if the selected item equals to "two".</p>
</h:panelGroup>
<h:panelGroup rendered="#{bean.item == 'three'}">
<p>This will be shown if the selected item equals to "three".</p>
</h:panelGroup>
</h:form>
<h:panelGroup>
просто пример. Это может быть любой HTML-компонент JSF, например <h:inputText>
или даже другой <h:selectOneMenu>
.
Смотри также: