人。 我坚持以下问题。我有一个模态对话框,其中包含两个selectOneMenu组件。当我关闭对话框并再次打开它时,仍然会选择selectoneMenu中的值。这是我的菜单:
<p:selectOneMenu id="fromCurrency"
value="#{dialog.exchangeRateManageContainer.currencyIdFrom}"
styleClass="ui-input-required"
required="true"
requiredMessage="#{msgs['validation.maintenance.exchangeRate.fromCurrency']}">
<f:selectItem
itemLabel="#{msgs['label.maintenance.selectCurrency']}"/>
<f:selectItems value="#{dialog.currencies}" var="currency"
itemLabel="#{currency.code}"
itemValue="#{currency.currencyId}"/>
</p:selectOneMenu>
<p:outputLabel for="toCurrency" value="#{msgs['label.maintenance.toCurrency']}" />
<p:selectOneMenu id="toCurrency"
value="#{dialog.exchangeRateManageContainer.currencyIdTo}"
styleClass="ui-input-required"
required="true"
requiredMessage="#{msgs['validation.maintenance.exchangeRate.toCurrency']}">
<f:selectItem itemLabel="#{msgs['label.maintenance.selectCurrency']}"/>
<f:selectItems value="#{dialog.currencies}" var="currency"
itemLabel="#{currency.code}"
itemValue="#{currency.currencyId}"/>
这是取消按钮:
<p:commandButton id="cancelButton"
value="#{msgs['label.button.cancel']}"
icon="ui-icon-cancel"
action="#{dialog.cancel()}"
immediate="true"
process="@this"
oncomplete="addExchangeRateDialog.hide();"/>
这是取消方法:
public void cancel() {
manageCurrenciesDialog = null;
}
任何帮助将不胜感激。
答案 0 :(得分:1)
我的解决方案是在命令按钮上添加update属性,打开带有对话框ID的对话框。它有效。
答案 1 :(得分:0)
要重置选择,您需要将组件的值设置为null。
将您的取消方法更改为:
public void cancel() {
manageCurrenciesDialog = null;
exchangeRateManageContainer.currencyIdFrom = null;
exchangeRateManageContainer.currencyIdTo = null;
}
答案 2 :(得分:-1)
重置所有组件的值
我通过调用action to backing bean方法重置了所有组件的值。 在此方法内部,我将所有组件的值(例如p:selectOneMenu和p:selectBooleanCheckbox)分配给null。 它运作得很好。