powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как получить доступ к портальной странице из портлета !?
10 сообщений из 10, страница 1 из 1
Как получить доступ к портальной странице из портлета !?
    #38455663
TeRRa_777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Используется Oracle PortalAS 10g
На старнице размещен Java портлет
Задача. Узнать имя страницы на которой опубликован портлет.

Также не могу понять как получить текущий URL страницы =(
...
Рейтинг: 0 / 0
Как получить доступ к портальной странице из портлета !?
    #38455680
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TeRRa_777,
вообще задача звучит достаточно странно, по хорошему портлеты не должны зависеть от того, на какой странице они опубликованы.
Текущий url в принципе всегда можно получить на клиенте и при необходимости отдать ajax запросом на сервер, хотя наверное информация есть и в каких-нибудь серверных объектах.
...
Рейтинг: 0 / 0
Как получить доступ к портальной странице из портлета !?
    #38455714
TeRRa_777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
just_vladimir,

Изначально стоит задача немного другого плана.

Есть портлет (Вывести список комментариев), которому в режиме редактирования задается ID проекта и ложится в предпочтения
Код: java
1.
2.
3.
4.
5.
6.
7.
public void processAction(ActionRequest request, ActionResponse response)
                                                                    throws IOException, PortletException {
....
PortletPreferences preferences = request.getPreferences();
preferences.setValue(PROJECT_ID, 100);
preferences.store();
...


Так вот когда на страницу с данным портлетом заходит авторизованные пользователи, то я вытаскиваю из преференсов сохраненный ID = 100 и вывожу список комментов.
Проблема возникает в том случае если на страницу зашел не авторизованный пользователь, т.к. в этом случае store у меня пустой!

Поэтому хотелось бы иметь доступ к другим уникальным объектам страницы. Для того чтобы можно было хранить нужный ID по уникальному ключу в БД.
При заходе на страницу брать уникальный ключ (например название страницы) и вытаскивать ID проекта...
...
Рейтинг: 0 / 0
Как получить доступ к портальной странице из портлета !?
    #38455766
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TeRRa_777,
дак суть остается то той же? Один и тот же портлет опубликован на разных страницах и в зависимости от того, на какой странице он прикреплен он должен выдавать разный контент?

А вообще мне что то припоминается, что должны быть преференсы:
1. Персональные пользователя
2. Конкретной страницы с портлетом
3. Глобальные для всех использований данного портлета

Хотя возможно это чисто в WebSphere.
...
Рейтинг: 0 / 0
Как получить доступ к портальной странице из портлета !?
    #38455838
TeRRa_777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
just_vladimir,

Суть уловили верно. Портлет один. Просто в зависимости от страницы (настроек портлета) выводится разные списки комментов.

С WebSphere не работал, возможно там это и есть.
Использую спецификацию JSR 168.
...
Рейтинг: 0 / 0
Как получить доступ к портальной странице из портлета !?
    #38455856
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно id контента указать в дескрипторе портлета (в <init-param>), а показывать-не показывать - определять по роли пользователя. Содержимое остальных элементов страницы при этом не потребуется
...
Рейтинг: 0 / 0
Как получить доступ к портальной странице из портлета !?
    #38455890
TeRRa_777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ivanra,

Дело в том что контенты могут быть разными.
Ну допустим вздумалось на какую-нибудь страницу поместить новый проект.
Загрузили текст и т.п. Затем надо разместить наш портлет на странице, но у него в <init-param> не прописан ID этого контента

Да конечно Ваше решение имеет место быть, но в таком случае нам пришлось бы собирать столько портлетов сколько у нас уникальных контентов (проектов)!

Хочется все таки иметь один универсальный...
...
Рейтинг: 0 / 0
Как получить доступ к портальной странице из портлета !?
    #38455926
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрел более позднюю спеку, там скоупы преференсов отданы на откуп вендорам порталов:
jsr 286PLT.17.2 Preference Attributes Scopes
Portlet Specification assumes preference attributes are user specific, it does not make any provision at API level or at semantic level for sharing preference attributes among users, but enables sharing of preferences and different levels of portlet entities (see Section 5.3.1). If a portal/portlet-container implementation provides an extension mechanism for sharing preference attributes, it should be well documented how the sharing of preference attributes works. Sharing preference attributes may have significant impact on the behavior of a portlet. In many circumstances it could be inappropriate sharing attributes that are meant to be private or confidential to the user.

Так что читайте документацию на ваш портал сервер.
...
Рейтинг: 0 / 0
Как получить доступ к портальной странице из портлета !?
    #38456090
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TeRRa_777ivanra,

Дело в том что контенты могут быть разными.
Ну допустим вздумалось на какую-нибудь страницу поместить новый проект.
Загрузили текст и т.п. Затем надо разместить наш портлет на странице, но у него в <init-param> не прописан ID этого контента

Да конечно Ваше решение имеет место быть, но в таком случае нам пришлось бы собирать столько портлетов сколько у нас уникальных контентов (проектов)!

Хочется все таки иметь один универсальный...
В таком случае можно использовать request.getWindowID(), а где-то в базе хранить таблицу соответствий. Не знаю как у Oracle, но на других порталах это практически готовый URL страницы
...
Рейтинг: 0 / 0
Как получить доступ к портальной странице из портлета !?
    #38457411
TeRRa_777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ivanraВ таком случае можно использовать request.getWindowID()
Насколько я понимаю это прерогатива спецификации JSR268. Я использую предыдущую спец. JSR168

Спасибо всем за подсказки. Натолкнули на пару мыслей ;-)

Вообщем-то проблему решил. Все оказалось не так страшно.
В дескрипторе портлета расширил режимы портлета, проставил edit_defaults
Предпочтения проставленные в этом режиме доступны всем пользователям! (согласно документации по Oracle AS Portal)

Код: xml
1.
2.
3.
4.
<custom-portlet-mode>
        <description xml:lang="en">edit_defaults mode</description>
        <portlet-mode>edit_defaults</portlet-mode>
</custom-portlet-mode>



Уже в самих JSP'ках через тэг расширения изаю преференсы
Код: java
1.
PortletPreferences prefs = renderRequest.getPreferences();



Все нормалек, ID проекта доступно для всех пользователей!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как получить доступ к портальной странице из портлета !?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]