2016-09-29 3 views
1

для того, чтобы открыть документ с XPages, мы должны вызвать URL с следующим форматом: http://server/database/name_of_xpage.xsp&documentID=xxxxдружественная URL в XPages

В одном из своих баз данных, документы для открытия содержит поле «названия». Я хотел бы, чтобы открыть документ, используя URL-адрес, как это: http://server/database/title_value

Как заставить сервер Domino, чтобы ответить на такой URL и открыть соответствующий XPage (как это работает на StackOverflow веб-сайт)

+0

Посмотрите на некоторые ответы здесь: http://stackoverflow.com/questions/16446291/notes-9-rewriting-urls –

+0

Большое спасибо за ваш быстрый ответ. после прочтения данной ссылки и ответов, но я не знаю, как это сделать без внешних настроек (apache). Означает ли это, что с помощью navigationRules и pageBaseURL я могу достичь своей цели? Я не понимаю, как работают эти свойства – Techn0fil

+0

Я считаю, что этот ответ должен помочь вам: http://stackoverflow.com/a/20376535/785061 –

ответ

0

Вы можете создать XAgent (я назвал мой «открытым») и принять меньшие параметры, чтобы открыть документ. Например, предположим, что ваша основная «форма» XPage называется «xpDoc». Вот ваш XAgent (код в afterRenderResponse):

var val = context.getUrlParameter('title'); 
var nd:NotesDocument = database.getView('viewname').getDocumentByKey(val); 
context.redirectToPage('xpDoc.xsp?documentId=' + nd.getUniversalID() + '?OpenDocument'); 

Таким образом, с помощью этой простой XAgent, вы можете использовать URL, чтобы открыть документы, например, так:

http://server/database/open.xsp?title=title_value 

Я просто попытался его в развитии db У меня есть, и это работает очень хорошо. Вы всегда можете уменьшить имя XAgent и «title», чтобы уменьшить ссылку.

Обратите внимание, что при использовании этой опции вам не нужно обновлять NAB с помощью любых правил веб-сайта. Поскольку вы хотите ссылаться на документы, я предполагаю, что в вашем приложении имеется больше нескольких документов. Добавление правил веб-сайта в NAB, я не думаю, было бы хорошим вариантом, так как это добавило бы много дополнительного обслуживания. С помощью вышеуказанного метода все можно сделать в рамках вашего приложения.

0

Есть несколько вариантов:

  • административное решение - вы можете настроить Domino для перевода URL-адресов на уровне сервера
  • XAgent, скрипт открытия формы, агент LotusScript - перенаправить на правильный URL
  • Свойство формы для перенаправления на XPage, descr ниже.

Все, что вам нужно, это сделать короткое имя или псевдоним, например «ключ». Первый отсортированный столбец должен содержать ваше ключевое значение. Свойство формы каждого документа должно определять XPage для открытия в Интернете. Тогда url как это http://server/database/key/title_value будет работать. With one small caveat.

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