У меня есть небольшая форма внутри моего p:dialog
:
<p:dialog id="commentDialog" header="#{managedBean.dialogHeader}" widgetVar="commentDialog" modal="true" resizable="true" height="auto">
<h:form>
<h:outputLabel for="comment" value="Comment:"/>
<p:inputTextarea id="comment" title="Comment"
rows="6" cols="33"
value="#{managedBean.comment}"
required="true"/>
<h:commandButton value="Submit" action="#{managedBean.dialogFormSubmit}"/>
</h:form>
</p:dialog>
Можете ли вы сказать, почему, когда я нажимаю кнопку "Отправить", диалог закрывается, но dialogFormSubmit()
в managed bean
не вызывается?
Я также попытался перейти на p:commandButton
, считая, что функциональность требует PrimeFaces
варианта h:commandButton
, но получает то же самое.
Вопрос аналогичен этому, и я попытался сделать то же самое, но не смог заставить его работать, а также this один, который на самом деле не имеет реального ответа.
UPDATE:
Диалог показывался из управляемой bean, но также был обновлен (решение, для которого я получил здесь) перед показом с помощью RequestContext
API для обновления заголовка:
RequestContext context = RequestContext.getCurrentInstance();
context.update("commentDialog");
context.execute("PF('commentDialog').show();");
Я понял, что эта неисправность возникает только тогда, когда я обновляю диалог (средняя строка выше). Когда я на самом деле не делаю (что не критично для функциональности диалога, но заголовок выглядит пустым), действие submit работает нормально. Таким образом, контекстное обновление похоже на то, что его испортило, и я не знаю, как получить оба обновления, сохраняя при этом функциональность отправки. Это может быть ошибка в RequestContext.update()
?