Работа С Richtext

Тема в разделе "Lotus - Xpages", создана пользователем alexas, 2 июл 2013.

  1. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    В доке - RTF с форматированным текстом. Надо показать его в Xpages со всеми красивостями (форматирование, цвет и т.п.). Как сделать?
    Сейчас показываю в Multiline - плохо :(
     
  2. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    тю... так в Xpages есть RT компонент
     
  3. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    Конечно так.
    Но если из RTF дока брать value и просто класть в inputRichText, то результат - plaintext. Надо как-то преобразовывать, как? - не знаю (не понимаю). Гуглопоиск мне не помог :(
     
  4. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    эммм... а чего брать value? Почему не Data Binding?

    1. Вариант - RT-компонент. Настроить Data Binding (Data Source и Bind to)
    2. Computed Field. Все тот же Data Binding (Data Source и Bind to) + Option Content type = HTML

    И все отображается нормально.

    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Код</div></div><div class="sp-body"><div class="sp-content">
    Код (Text):
    <?xml version="1.0" encoding="UTF-8"?>
    <xp:view xmlns:xp="http://www.ibm.com/xsp/core"
    xmlns:xc="http://www.ibm.com/xsp/custom">

    <xp:this.data>
    <xp:dominoDocument var="document1" formName="docs"></xp:dominoDocument>
    </xp:this.data>

    <xp:br></xp:br>
    <xp:inputRichText id="inputRichText1" value="#{document1.Untitled4}" readonly="true"></xp:inputRichText>
    <xp:br></xp:br>
    <xp:br></xp:br>
    <xp:text escape="false" id="computedField1" value="#{document1.Untitled4}"></xp:text>
    <xp:br></xp:br>
    </xp:view>
    Результат
    rt.png
     
  5. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    NickProstoNick спасибо за участие!
    Просто я плохо описал проблему:
    Часть функционала существующей БД переносится в ВЕБ. Инфа в RTF полях уже сохранена не как Store contents as HTML and MIME.
    Потому и интересует вопрос о конвертации на лету.
    Если поменять у нужных полей Storage на HTML, MIME то для новых доков все ОК, а со старыми - неайс.
    Надо наверное удалить-пересоздать соответствующие Item's с перезаписью содержания и ComputeWithForm что-ли для старых доков?
     
  6. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Я никаких настроек в для Notes RT-поля не делал. Не ставил никаких конвертаций.
    Обычное RT-поле
     
  7. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    Наверное так биндинг работает? У меня на страничке после разных манипуляций юзера появляется результат - UNID дока. С ним и работаю. С value - я лопух (string получается), надо - getMIMEEntity.
    Но у меня если Store content RTF не HTML, MIME - dос.getMIMEEntity("RTF") равен null.
    Попробую, если mime==null прям на страничке перезаписать RTF-сохранить док и взять mime снова.
     
  8. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Вполне возможно.
    Но то что я не заморачиваюсь с преобразованиями - это факт.
    Обходной путь - ты можешь создать объект Data Source \ Domino Document и в свойствах указать UNID нужного тебе документа. По идее Data Source будет перестраиваться динамически.
    Должно получиться
     
  9. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    NickProstoNick спасибо за подсказку.
    Динамический DataSource - это хорошо (с биндингом работать удобно - все сильно упрощается).
    С Xpages я только начал, голова пока пустая и все очень непривычно.

    Все, вопрос снят.
     
  10. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    P.S. По поводу:
    Может кто не знает или пропустил - создание (изменение) DataSource "Налету"<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">взято из openntf </div></div><div class="sp-body"><div class="sp-content">
    Код (Text):
    /***
    *** Create Document Datasources On-The-Fly
    ***
    *** Some of the possible parameters are listed below (only static)
    ***/

    var data = new com.ibm.xsp.model.domino.DominoDocumentData();
    data.setVar("document1"); /* Name of the datasource */
    view.addData(data);

    /*** Some possible parameters as shown in designer ***/
    data.setComputeWithForm("both"); /* compute with form */
    data.setIgnoreRequestParams(true); /* true or false */
    data.setParentId("0123456789ABCDEF0123456789ABCDEF");
    data.setAllowDeletedDocs(true);; /* true or false */
    data.setSaveLinksAs("UseWeb");
    data.setFormName("Test");
    data.setRequestParamPrefix("prefix");
    data.setScope("request");
    data.setAction("editDocument");
    data.setConcurrencyMode("force");
    data.setDocumentId("0123456789ABCDEF0123456789ABCDEF");
    Very nice
     
Загрузка...
Похожие Темы - Работа Richtext
  1. Andrey Kha
    Ответов:
    0
    Просмотров:
    23
  2. Hoasker
    Ответов:
    0
    Просмотров:
    64
  3. garri671
    Ответов:
    0
    Просмотров:
    54
  4. lelik200969
    Ответов:
    0
    Просмотров:
    50
  5. Kozolick
    Ответов:
    0
    Просмотров:
    138

Поделиться этой страницей