2016-06-17 3 views
0

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

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 имеет метод сохранения, который называется. Этот метод работает с коррекцией, так как он работал до того, как я добавил confirmDialog в этот editor.xhtml. Теперь, если я что-то напишу в редакторе, значение редактора не будет обновлено в бэкэнде. Поэтому, когда я сохраняю, он просто сохранит старое значение редактора, а не значение, которое я только что написал в редакторе, прежде чем нажать кнопку «Сохранить». Любые идеи, как это исправить?

ответ

0

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

Причины проблемы: SaveButton, которая открывает диалоговое окно было «кнопка» типа =. При изменении «отправить» сохранение в диалоговом окне.

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

+0

p: commandButton не поддерживает передачу значений с запросами получения, поддерживается только отправка. Нет необходимости определять тип, просто оставьте его. Отправить используется по умолчанию. – tak3shi

+0

Большое вам спасибо. –

Смежные вопросы