как перемещаться по страницам портлета icefaces jsp?

Я пытаюсь перемещаться по страницам в портлете icefaces (Liferay), но не могу заставить его работать.

<navigation-rule>
<from-view-id>/AdmissionApplication/Application.iface</from-view-id>
<navigation-case>
<from-outcome>y</from-outcome>
<to-view-id>/StudentPage/StudentMainPage.iface</to-view-id>
</navigation-case>
</navigation-rule> 

а вот действие кнопки

public String button1_action() {
//return null means stay on the same page
return "y";
}

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


person Feras Odeh    schedule 06.07.2010    source источник


Ответы (1)


Пути навигации должны относиться к контексту веб-приложения, а не к контексту домена. выглядит так, будто /AdmissionApplication и /StudentPage указывают на два физически разных веб-приложения. Вы не можете переходить от одного к другому, используя навигацию JSF. Затем вы должны использовать h:outputLink (или что-то подобное в IceFaces), например:

<h:outputLink value="/StudentPage/StudentMainPage.iface">

Еще одно преимущество заключается в том, что это более удобно для SEO и пользователя, чем командные ссылки/кнопки (которых следует избегать для «простой ванильной» навигации по страницам).

person BalusC    schedule 06.07.2010
comment
Я ничего не знаю о структуре вашей веб-страницы. Просто проверьте правильность сгенерированного URL. Он должен быть абсолютно или относительно таким же, как URL-адрес, который вы вводите в адресной строке браузера, чтобы получить доступ к странице вручную. - person BalusC; 06.07.2010
comment
Похоже, что существует особый способ рендеринга портлетов, расширяющих genericportlet с помощью portletUrl, но я не могу понять это правильно! - person Feras Odeh; 07.07.2010