jsf 2 - Navegación entre páginas jsf dentro de un portlet en WebSphere Portal 8.0
jsf-2 navigation (1)
Estoy trabajando en WebSphere Portal 8.0 y estoy tratando de hacer portlet con pocas caras. ¿Alguien puede compartir conmigo cómo puedo hacer un enlace simple a otro sitio JSF dentro de un portlet? Quiero decir, estaba tratando de usar esto, pero no funciona:
<h:outputLink value="page2.xhtml">
<h:outputText value="take me to the page2" />
</h:outputLink>
Me redirigen al misterioso enlace, pero me gustaría permanecer en el mismo sitio pero cambiar de cara en este único portlet.
Tengo respuesta.
Si quieres usar GET, usa esto:
<h:link value="take me to the page2" outcome="page2" />
O por el uso de POST:
<h:form>
<h:commandLink action="#{menager.navigateToPage2}" value="take me to the page2" />
</h:form>
y en faces-config.xml
<managed-bean>
<managed-bean-name>menadzer</managed-bean-name>
<managed-bean-class>test.Menadzer</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>symbolAktywnejSpolki</property-name>
<value>#{param.symbol}</value>
</managed-property>
</managed-bean>
<navigation-rule>
<display-name>index.xhtml</display-name>
<from-view-id>index.xhtml</from-view-id>
<navigation-case>
<from-action>#{menager.navigateToPage2}</from-action>
<from-outcome>page2</from-outcome>
<to-view-id>page2.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
y la clase:
public class Menager {
...
public String navigateToPage2() {
return "page2";
}
}
y si usa WebSphere Portal, agregue esto a faces-config.xml:
<application>
<view-handler>com.ibm.faces20.portlet.FaceletPortletViewHandler</view-handler>
<resource-handler>com.ibm.faces20.portlet.httpbridge.PortletResourceHandler</resource-handler>
<el-resolver>com.ibm.faces20.portlet.PortletELResolver</el-resolver>
</application>