У меня есть один входной календарь (сейчас есть, но то же самое происходит с) внутри одного диалога. Проблема заключается в том, что когда я выполняю действие, где я вызываю компонент для сохранения объекта, на который есть ссылка в этом календаре, а затем, когда я создаю новый объект для этого ввода, диалоговое окно не обновляется с этим новым «нулевым значением». По-видимому, они сохраняют состояние на странице старого объекта, но сзади, на бобе, объект является новым.
Я не знаю, что я делаю не так, и буду признателен, если кто-то сможет мне помочь.
Это часть моего диалогового окна, в которую я помещаю ввод
<div>
<p:outputLabel id="calendarLabel"
value="beginDate"
for="dateInput"/>
<ii:calendar id="dateInput"
pattern="yyyy-mm-dd"
value="#{bean.entity.beginDate}"
immediate="true"
style="text-align: right !important;">
<p:ajax event="change" process="@this" update="@this"/>
</ii:calendar>
<p:message id="beginDateMessage"
for="dateInput"/>
</div>
Вот кнопка, где я вызываю действие, которое сохраняет объект, указанный в календаре, и создает новый объект (entity = new Entity () в конце вызванного метода)
<p:commandButton id="CmdYes"
styleClass="ui-confirmdialog-yes"
icon="fa fa-check"
value="Confirm"
process="@form @form:dialog"
update="@form @form:dialog"
immediate="true"
action="#{bean.persistEntity()}"
onstart="PF('pageBlocker').show();"
onsuccess="PF('dialog').hide();PF('pageBlocker').hide();">
</p:commandButton>
Я уже все перепробовал, и самым близким решением было создать кнопку, используя onclick = "calendarWidget.setDate (null)". С этим я могу нажать кнопку и очистить ввод календаря, я могу поместить это в JS и вызвать щелчок после действия. Но это кажется мне плохим решением.
Может ли кто-нибудь помочь мне понять, что я делаю неправильно?
ОБНОВЛЕНИЕ
Это действие, вызывающее диалоговое окно:
<p:menuitem id="actionSuspend"
value="Suspend"
process="@form" update="@form"
immediate="true"
onstart="PF('pageBlocker').show()"
oncomplete="PF('dialog').show();PF('pageBlocker').hide()"
actionListener="#{bean.doAction('action', item)}"
rendered="#{bean.canDoAction('action', item)}"
/>