Форматированный текст в MIMECKeditor

У меня есть бэкэнд, представляющий собой поле RichText (без STORE MIME CONTENT)

Если я ввожу это поле в Notes Client (поле компиляции форматированного текста)

и после перехода в пользовательский интерфейс Xpages... я правильно вижу HTML поля, и у меня другой сценарий:

  • Если я не изменю поле и не сохраню источник данных... мой бэкэнд нормальный RichText
  • Если я зайду в Ckeditor и вставлю новое слово... и сохраню источник данных... мой бэкенд - RichText MIME
  • Если я установлю в своем бэкэнд-поле RichText значение STORE MIME CONTENT.... когда я сохраняю новый документ, среда выполнения Xpages выходит из строя

Есть ли у кого-нибудь идея хранить мой бэкэнд всегда с MIME или RICHTEXT?

Tnx


person Daniele Grillo    schedule 09.02.2012    source источник


Ответы (1)


Даниэль,

  • Если вы не измените поле в XPage, оно не будет отправлено обратно на сервер и останется нетронутым в документе. Поэтому, если ваше исходное поле содержало форматированный текст, оно остается форматированным текстом.
  • Если вы редактируете поле в XPage с помощью CKEditor, содержимое всегда будет преобразовано в MIME (вы получите предупреждение при сохранении, что это произойдет).

Параметр «Сохранить содержимое как MIME» приведет к тому, что содержимое документов, созданных в клиенте, всегда будет храниться как MIME. Это то, что вы хотите?

отметка

person Mark Leusink    schedule 09.02.2012
comment
Извините, Марк, но если я перехожу в режим редактирования моего источника данных и сохраняю источник данных, почему он не отправляется обратно на сервер? Я бы всегда сохранял поле как содержимое MIME ... но если я включу этот флаг в RichText внутри формы в конструкторе ... и если вы создадите новый документ после нажатия кнопки СОХРАНИТЬ (которая сохраняет источник данных), XPages идут в ошибка времени выполнения (скажем: Xpages Runtime Error BodyField существует... blalballbla) - person Daniele Grillo; 09.02.2012
comment
При отправке XPage, содержащего поле RT (рендеринг с помощью CKEditor), выполняется вызов функции .isModified(). Это, в свою очередь, вызывает функцию checkDirty() CKEditor, чтобы проверить, изменилось ли содержимое редактора (по сравнению с содержимым, которое было загружено при запуске). Результат этой проверки записывается в поле с именем ‹yourRTField›_mod и отправляется обратно на сервер (true или false). Если содержимое не изменилось, поле RT остается в документе нетронутым. Я видел ошибку времени выполнения в прошлом, но не могу воспроизвести ее в 8.5.3. У тебя 8.5.3? - person Mark Leusink; 09.02.2012
comment
Большое спасибо за разъяснения! Да, я использую среду 8.5.3... и проблема сохраняется - person Daniele Grillo; 09.02.2012