2013-07-02 2 views
0

Я пытаюсь отправить параметр из портлетов doView функции portal_normal.vmОтправить параметр из портлетов doView в portal_normal.vm

возможно ли это? Как я могу отправить и получить его?


Извините, но я не вижу способа выполнить запрос.

В doView я написал

HttpServletRequest httpRequest = PortalUtil.getOriginalServletRequest(PortalUtil.getHttpServletRequest(renderRequest)); 
     httpRequest.setAttribute("hola", "hola"); 

И в портал нормальный я попытался с:

#set ($holas =$request.get('attributes').get('hola')) 
#set ($holas2 = $request.getSession().getAttribute("hola")) 

$holas 
$holas2 

но скорость показывает только $holas $holas2

ответ

0

Это звучит как слишком конкретный план, чтобы показать некоторые информации за пределами портлета, но также и вне спецификации портлета. Является ли это возможным? Да. Имеются ли ограничения? Да.

Я не пробовал, но я бы сказал, что у вас нет гарантии, что все этапы визуализации всех портлетов будут завершены до того, как начнется оценка portal_normal.vm. Технически необходимо только завершить их, как только они на самом деле собираются сделать. Render не имеет права изменять какое-либо состояние - и вы подразумеваете, что в вашем случае это может произойти, потому что при рендере будет отображаться что-то еще.

Возможно, имеет смысл предположить, что ваша тема имеет элемент DOM, доступный на странице. Затем визуализируйте некоторый javascript, который манипулирует этим элементом DOM. Зависимость от темы одна и та же, но вы также можете вернуться к некоторому рендерингу по умолчанию, если вы не можете найти элемент DOM.

В качестве альтернативы, если вы настаиваете на своем режиме работы. вы можете попробовать пройти сеанс сервлета (сеанс портлета не поможет), поскольку у вас есть доступ к HttpServletRequest из portal_normal.vm. Однако будьте осторожны: доступ к HttpServletRequest нестандартен и на самом деле не является портальным мышлением

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