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

phantom76

Lotus team
25.02.2005
360
4
#1
коротко:

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

лотусовый док содержит синхронные поля Поле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, осталась техническая часть, в каком событии производить генерации набора ссылок? И собственно через что?
 

phantom76

Lotus team
25.02.2005
360
4
#2
или как динамически сформировать набор ссылок из произвольного количества элементов для Xpage страницы?
 

Zeka

Well-known member
01.09.2009
219
0
#3
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>
 

phantom76

Lotus team
25.02.2005
360
4
#5
еще один момент,

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

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

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

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

Кажется нашел, в repeat - это IndexVar