© Copyright International Business Machines Corporation 2006. Все права защищены. Ограниченные права пользователей государственных учреждений США - Использование, копирование или обнародование регламентируется Контрактом GSA ADP с IBM® Corp.
При разработке проекта портлета Struts необходимо учитывать, что теги шаблонов Struts плохо поддерживаются в инструментах портлетов Struts.
- При добавлении тега шаблонов Struts из палитры на Web-страницу инструмент неверно генерирует директиву taglib Struts для пользователя:
<%@taglib uri="http://jakarta.apache.org/struts/tags-template" prefix="template"%>
вместо правильной директивы taglib Struts:
<%@taglib uri="http://struts.apache.org/tags-template" prefix="template"%>
Если исправить директиву taglib на этой странице, это не решит проблему, так как последующие теги шаблонов будут содержать ту же неверную директиву taglib.- Теги шаблонов Struts не видны в проектировщике страниц.
Инструмент портлетов Struts пока не поддерживает разработку портлетов Struts tiles, хотя и содержит примеры портлетов Struts tiles (IBM и JSR168). Их можно импортировать в рабочую область, чтобы портлет мог использовать tiles в приложении.
Примечание: Разработка с применением tiles в портлете Struts может привести к тому, что в проект будет добавлен фасет поддержки динамических шаблонов (Struts Tiles). Это вызовет неполадки при развертывании портлета. Дополнительная информация приведена в разделе об известных неполадках и способах их устранения.
При импорте примера портлета Struts (IBM или JSR168) в рабочую область в примере может возникать ошибка: не определена среда выполнения. В зависимости от конфигурации рабочей среды и установленного сервера в проекте может возникать ошибка: "Целевая среда выполнения WebSphere® Portal V6.0 не определена". Это означает, что WebSphere Portal V6.0 не включен в список серверов рабочей среды.
Рекомендация:
Перед началом работы с примерами необходимо настроить целевую среду выполнения для проекта.
- Убедитесь, что соответствующий целевой сервер доступен.
- Просмотреть и изменить список доступных серверов можно в окне параметров (Окно > Параметры > Сервер > Установленные среды выполнения).
- Найдите заготовку "WebSphere Portal V6.0". Она должна устанавливаться с комплектов инструментов портала продукта. В противном случае нажмите кнопку Добавить, чтобы добавить среду выполнения WebSphere Portal V6.0.
- Выберите импортированный проект и через контекстное меню откройте свойства проекта.
- Выберите целевую среду выполнения. Должен быть показан список доступных сред выполнения, подходящих для проекта.
- Нажмите OK.
- Повторите эти действия для проекта EAR, импортированного с примером.
Настроив целевую среду выполнения, повторно скомпонуйте проект, чтобы устранить ошибки и развернуть его:
- Для того чтобы повторно скомпоновать проект, выберите Проект > Очистить > Очистить все проекты или Очистить выбранные проекты, затем нажмите OK. Примечание: некоторые примеры содержат ошибки.
- Для того чтобы развернуть примеры, содержащие ошибки, необходимо включить опцию Разрешить публикацию на сервере приложений с ошибками ( Окно > Параметры> Сервер > WebSphere.
- Нажмите OK.
- Для того чтобы развернуть проект, выберите проект (не EAR) и нажмите Выполнить как > Запустить на сервере. Для целевой среды выполнения должен быть выбран тот же тип сервера.
При работе с портлетом Struts tiles в проекте может быть установлен фасет поддержки шаблонов динамических страниц (Struts Tiles). Фасет поддержки шаблонов динамических страниц (Struts Tiles) позволяет упросить работу с Struts tiles в динамическом Web-проекте, но не в проекте портлета Struts. Если фасет установлен, при развертывании будут возникать ошибки среды выполнения. Кроме того, если теги tiles будут добавляться в JSP портлетов Struts из палитры, то при этом генерируются неверные директивы taglib.
Рекомендация: Если ведется разработка портлета Struts, то перед развертыванием выполните следующее:
- Проверьте, был ли установлен в проекте фасет поддержки шаблонов динамических страниц (Struts Tiles). Для этого в свойствах проекта откройте > Фасет проекта.
- Если он установлен, то удалите дополнительные сервлеты и записи файлов конфигурации, добавленные в проект:
- Откройте web.xml в редакторе файла описания. На вкладке Сервлет удалите запись TilesServlet и сохраните файл.
- Откройте struts-config.xml в редакторе файлов конфигурации Struts. На вкладке Модули удалите запись org.apache.struts.tiles.TilesPlugin и сохраните файл.
Примечание: При удалении из проекта фасета поддержки шаблонов динамических страниц (Struts Tiles) указанные записи не удаляются. Лучше оставить запись этого фасета проекта в списке.- Для каждой из JSP, содержащей тег tiles, проверьте, используется ли директива taglib портлета struts tiles. Если это не так, (как для портлетов Struts tiles WPS V6.0), то
- замените <%@taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles"%>
- на <%@taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>