#java #combobox #richfaces
#java #поле со списком #richfaces
Вопрос:
Разрешает ли rich:tab атрибут reRender? Если да — будет ли она повторно отображать компонент на этой вкладке, когда выбрана эта вкладка rich:? Я пытаюсь повторно отобразить rich: ComboBox после нажатия на вкладку, чтобы при повторном отображении он отображал свою метку по умолчанию. Однако в выпадающем списке rich: отображается значение из предыдущего выбора. Пробовал привязать компонент к переменной UIInput и сбросить ее значение. без особого успеха. Мой rich: combo содержится в коде, примерно подобном этому.
<rich:panel style="width:100%;" header="XXXXXXX" id="outerpanel">
<fieldset style="width: 98%"><legend>Role DSDSD</legend>
<h:panelGrid id="roleAcoster" columns="1" columnClasses="alignTop" border="0" cellpadding="30" cellspacing="4">
<a4j:outputPanel id="a4panel">
<rich:panel header="Available Roles" width="100%" id="xPanel">
<h:panelGrid columns="3" border="0" columnClasses="alignTop" cellpadding="3">
<h:outputText value="New York" />
<rich:comboBox value="#{bean.selectedRole}"
disabled="#{bean.show}"
valueChangeListener="#{bean.roleSelected}"
binding="#{bean.roleComboComponent}"
id="availableCombo" immediate="true" defaultLabel="Select Role"
enableManualInput="false" width="204px">
<f:selectItems
value="#{bean.selectItems['AvailableRoles']}" />
<f:attribute name="selectItems"
value="#{bean.selectItems['AvailableRoles']}" />
<a4j:support event="onchange" ajaxSingle="true"
onsubmit="#{rich:component('wait_div')}.show()"
oncomplete="#{rich:component('wait_div')}.hide()"
reRender="role_button_add,roles_panel" />
</rich:comboBox>
<rich:message for="availableCombo" errorClass="errorMessage" />
</h:panelGrid>
</rich:panel>
</a4j:outputPanel>
</h:panelGrid>
</fieldset>
</rich:panel>
Спасибо!
Ответ №1:
у rich: tab действительно есть атрибут reRender:http://docs.jboss.org/richfaces/latest_3_3_X/en/tlddoc/rich/tab.html . Таким образом, вы можете повторно отобразить любой компонент.