Ruby In Xpages

Тема в разделе "Lotus - Xpages", создана пользователем turumbay, 28 апр 2012.

  1. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    На OpenNTF появился новый проект: Ruby in XPages. Автор проекта Jesse Gallagher

    Как можно догадаться, цель проекта - дать разработчику возможность использовать Ruby для написания серверных скриптов (наряду со штатным SSJS).
    Пример:<!--shcode--><pre><code class='XML'><?xml version="1.0" encoding="UTF-8"?>
    <xp:view xmlns="http://www.ibm.com/xsp/core">
    <xp:text value="#{ruby:Time.now.year}"/>
    </xp:view>[/CODE]Реализация основана на JSR 223: к рантайму JSF подключается JRuby, который и исполняет код.
    Фичи:
    • Поддерживаются немедленное/отложенное выполнение ( ${expression}, #{expression} ), в том числе, отложенный вызов методов (т.н. defferd method expression)
    • Позволяет создавать/использовать "Ruby Script Library". На текущий момент они должны лежать в папке WEB-INF/ruby. Либа подключается на страницу как обычный скрипт, но с атрибутом type="text/ruby" : <xp:script src="/somelibrary.rb" type="text/ruby" clientSide="false" />
    • Код может обращаться к "session", "database" и любым другим переменным, доступным через SSJS.
    • В комплекте идет небольшая библиотека - обертка для NotesDocumentCollection и NotesDocument, позволяющая итерировать коллекции документов привычным рубистам образом ( т.е. docs.each { |doc| ... } ) и использовать аналог LS-ного расширенного синтаксиса для доступа к полям документа ( doc["Form"] )
    • Заложена базовая поддержка других скриптовых языков: если раскомментировать код в frostillicus/ScriptingViewHandler.java, то появится поддержка остальных JSR-223-совместимых языков( например #{scheme:...}, или #{Groovy:...} ). Работоспособность таких языков фактически не тестировалась, пример использования можно посмотреть в блоге автора
     
Загрузка...

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