Генерация URL портлета из сервлета AJAX - PullRequest
2 голосов
/ 08 февраля 2010

Я пытаюсь изменить портлет для загрузки данных для таблицы через AJAX, потому что вызовы WS занимают смешное количество времени для завершения. Таблица в основном представляет собой обзор с одной записью на строку таблицы и ссылкой в ​​каждой строке на более подробную информацию о записи.

Вот как я сейчас создаю URL для каждой строки в таблице:

<portlet:renderURL portletMode="VIEW" windowState="maximized" var="showURL">
    <portlet:param name="id" value="${entry.ID}"/>
</portlet:renderURL>

Я создал сервлет AJAX для получения вызовов AJAX и возврата JSON, который будет динамически добавляться в таблицу с помощью обратных вызовов jQuery. Сервлет работает нормально, и строки добавляются в таблицу без особых проблем. У меня проблема со ссылками, которые должны быть в таблице.

Мой вопрос заключается в том, как мне имитировать приведенный выше код JSP в сервлете для генерации правильных URL-адресов портлетов?!?! Я немного новичок в портлетах, и их URL-адреса кажутся мне сериализованным беспорядком.

1 Ответ

1 голос
/ 08 февраля 2010

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

В URL встроен токен PORTLETID, который впоследствии заменяется реальным значением на JS.

В этом портлете используется Fluid Infusion , который я настоятельно рекомендую для мощных, доступных виджетов высшего порядка на основе jQuery.

Брайан сказал

Спасибо за идею. Я пытался сделать то, что у вас было, но я не понимаю, как JS сможет ввести реальный идентификатор для заполнителя. Используя renderURL я получаю это в JS:

var baseShowUrl = "/wps/myportal/portalname/!ut/p/c5/hY7NCoJAFEafpSe4X_Pf0hJ0Sied6M9NCEVIWS2ioqdvwo2b6H7LczhcqijsUj-aY31vrpf6TFuq9C52yJ32DAZCworYz_V0DIDRqq1fTdu8D_tOFUra0oqgZoKD-VLabBpzQPXVDVWqV9UjE6qFzGcmD1XQ-vtHz0jSQgVjmXnr5xxm2HH8uAgdnyRRKnQGJJpJMCcXLI9WSLj6wwW59Noe6NYafjr59BkNBh8sH-CA/dl3/d3/L0lDU0NsQ1FvS1VRIS9JSFNBQ0l3a1FBd3FibTZtLzRDMWI5WUF4RW1TUVVnZyEvN19ETjBNTjdSMjA4MDQ1MEk0RFJPN0pCMDAwMi92aWV3L0NPTlRSQUNUSUQ!/";

ОБНОВЛЕНИЕ от Drew Wills

Не могли бы вы показать мне, как ваш или тег?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...