• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

В Элементе Rich Text Создать Набор Ссылок На Другие Документы

  • Автор темы phantom76
  • Дата начала
P

phantom76

коротко:

добавляю к приложению веб-интерфейс:

лотусовый док содержит синхронные поля Поле1 - массив id-реплик , Поле2 - массив UNIDов.

при отображении содержимого документа через свой Custom Control требуется сгенерировать набор веб-ссылок на документы из данных Поля1 и Поля2.

Предварительно предполагаю, что линки удобнее разместить в элементе Rich Text.

ссылки будут вида:

Код:
http://test/dev/ndb.nsf/documents.xsp?documentId=B6F117FE32C95799C325794C00497284&action=openDocument&content=docs_form"
отображать, предполагаю, только ссылки тех документов из набора, которые находятся в текущей БД.

Пока не совсем понял, как в XPages сгенерировать, насколько понимаю генерирую для RT стандартный html тег для линков:


<a href="http://test/dev/ndb.nsf/documents.xsp?documentId=B6F117FE32C95799C325794C00497284&action=openDocument&content=docs_form
" title="Документ ссылка 1">Документ ссылка 1</a>

при отображении помещаю набор ссылок в элемент RT, осталась техническая часть, в каком событии производить генерации набора ссылок? И собственно через что?
 
P

phantom76

или как динамически сформировать набор ссылок из произвольного количества элементов для Xpage страницы?
 
Z

Zeka

Rich Text в xPages используется исключительно для отоброжения и редактирования Rich Text'а. А не для всяких извращений, как это было в старых лотусах.
Всё решается примитивно просто через xp:repeat.
Код:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.beforePageLoad><![CDATA[#{java script:viewScope.put("unids", ["B6F117FE32C95799C325794C00497284", "B6F117FE32C95799C325794C00497285", "B6F117FE32C95799C325794C00497286"])}]]></xp:this.beforePageLoad>
<xp:inputTextarea id="inputTextarea1" multipleSeparator="#{java script:@NewLine()}" value="#{viewScope.unids}" style="height:200px;width:400px">
<xp:eventHandler event="onchange" submit="true" refreshMode="complete"></xp:eventHandler>
</xp:inputTextarea>
<xp:repeat id="repeat1" rows="30" value="#{viewScope.unids}" var="unid">
<xp:link escape="true" text="Link" id="link1" value="http://test/dev/ndb.nsf/documents.xsp">
<xp:this.parameters>
<xp:parameter name="documentId" value="#{java script:unid}"></xp:parameter>
<xp:parameter name="action" value="openDocument"></xp:parameter>
<xp:parameter name="content" value="docs_form"></xp:parameter>
</xp:this.parameters>
</xp:link><br/>
</xp:repeat>
</xp:view>
 
P

phantom76

Zeka
Спасибо! В тему.... идею понял! :)
 
P

phantom76

еще один момент,

Как быть если на входе есть поля с массивами: Unid , названия для ссылок.

Как в этом случае в repeat добавить перебор и отображаемого названия ссылки?

Например можно выводить по индексу в массиве, в этом случае где-то нужно разместить счетчик.

Да похоже, что достаточно получить только идекс текущей сслыки в repeat и можно сформировать полностью уникальные наборы для элемента Link

Кажется нашел, в repeat - это IndexVar
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!