2015-12-14 2 views
1

Я создаю крючок Liferay 6.2, следуя официальной документации, и все работает нормально.Liferay Action Hook: как указать перенаправление плитки?

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

Оригинальный метод Liferay render говорит:

return actionMapping.findForward("portlet.journal.error"); 

Кстати в моем классе (простирающейся BaseStrutsPortletAction) метод render не может получить доступ к любому actionMapping экземпляру.

Итак ... как я могу получить такое же поведение в своем классе?

Мой код говорит:

@Override 
    public String render(
      StrutsPortletAction originalStrutsPortletAction, 
      PortletConfig portletConfig, RenderRequest renderRequest, 
      RenderResponse renderResponse) 
     throws Exception { 

     Boolean myCondition = .......; 

     if (myCondition) { 
      // WHAT SHOULD I DO HERE? 
      //return actionMapping.findForward("portlet.journal.error"); 
     } 
     return originalStrutsPortletAction.render(
      null, portletConfig, renderRequest, renderResponse); 

    } 

Спасибо

ответ

1

Все, что вам нужно, это вернуть вперед имя.

Вместо actionMapping.findForward("portlet.journal.error"), возврат "portlet.journal.error".

BaseStrutsPortletAction#render метод вызван от com.liferay.portal.struts.PortletActionAdapter#render, который использует результат для вызова actionMapping.findForward(...).

+0

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

+0

Да, моя проблема связана с проблемой JSP ... так что ваше решение в порядке. благодаря –

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

  • Нет связанных вопросов^_^