Редактор PrimeFaces не обновляет значение

У меня есть этот файл editor.xhtml, в котором у меня есть редактор, набор кнопок и диалоги подтверждения для указанных кнопок. Все это можно использовать в диалоговых окнах моего веб-приложения.

editor.xhtml:

<ui:composition
        xmlns:c="http://java.sun.com/jsp/jstl/core"
        xmlns:f="http://java.sun.com/jsf/core"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:p="http://primefaces.org/ui">

        <p:confirmDialog widgetVar="saveDialog" appendTo="@(body)" showEffect="fade" hideEffect="fade"
                          message="Do you want to save the content?" icon="ui-icon-disk" severity="info" closable="true" >
            <p:commandButton value="Yes" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" action="#{customEditorBean.save}" oncomplete="PF('saveDialog').hide()"  />
            <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" onclick="PF('saveDialog').hide()" />
        </p:confirmDialog>

        <h:form>
            <span id="editorWidgetVarId">
                <p:editor widgetVar="editorWidget" onchange="rc()" value="#{customEditorBean.sisalto}" width="600" maxlength="8000" />
            </span>
            <p:remoteCommand delay="700" name="rc" actionListener="#{customEditorBean.noticeChange}" process="@this" update="saveButton"/>

            <p:commandButton id="saveButton"  onclick="PF('saveDialog').show()" value="Save" rendered="#{customEditorBean.canSave}"
            disabled="#{!customEditorBean.saveEnabled}" type="button">
            </p:commandButton>
        </h:form>

</ui:composition>

CustomEditorBean имеет метод сохранения, который вызывается. Этот метод работает корректно, так как он работал до того, как я добавил в этот файл editor.xhtml verifyDialog. Теперь, если я что-то напишу в редакторе, значение редактора в компоненте поддержки не обновляется. Поэтому, когда я сохраняю, он просто сохраняет старое значение редактора, а не значение, которое я только что написал в редакторе, прежде чем нажать кнопку Сохранить. Любые идеи, как это исправить?

1 ответ

Хорошо, мне удалось решить это...

Причина проблемы: кнопка saveButton, открывающая диалоговое окно, имела тип = "кнопка". При изменении "отправить" сохранение работало в диалоговом окне.

Теперь, может кто-нибудь сказать мне, ПОЧЕМУ НА ЗЕМЛЕ КНОПКА ТИПА НЕ РАБОТАЕТ В ЭТОМ СЛУЧАЕ!? Я потратил на это целый день.

Другие вопросы по тегам