2010-07-06 23 views
0

我正试图在icefaces portlet(Liferay)中浏览页面,但我无法让它工作。如何通过icefaces浏览jsp portlet页面?

<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我在论坛上找到放我不能让他们的工作很多选择。 任何机构能帮助我吗?

回答

0

导航路径应该是相对于web应用程序上下文而不是域上下文。它看起来像那样/AdmissionApplication/StudentPage指向两个物理上不同的web应用程序。您无法使用JSF导航从一个转发到另一个。那么你应该使用h:outputLink(在ICEfaces的或任何等同物),像这样:

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

另一个优点是,这更是搜索引擎优化和用户比commandlinks /按钮(这是应该避免的“纯香草”页面友好到页面导航)。

+0

我试过了,但是Liferay重定向我到主页! – 2010-07-06 13:16:06

+0

我对你的网页结构一无所知。只要检查生成的URL是否正确。它应该完全或相对地与您在浏览器地址栏中原始输入的URL手动访问页面相同。 – BalusC 2010-07-06 13:19:01

+0

看来,有一种特殊的方式来使用portletUrl来呈现portlet扩展genericportlet,但是我无法做到! – 2010-07-07 09:56:40