faces navigation rules not working for two portlets on portal page
------------------------------------------------------------------

         Key: MYFACES-549
         URL: http://issues.apache.org/jira/browse/MYFACES-549
     Project: MyFaces
        Type: Bug
  Components: General  
    Versions: Nightly Build    
 Environment: Linux 2.6.12, Java 1.5.0_04, Liferay Pro 3.6.1 (portla), nightly 
build (20050909)
    Reporter: zeroconf


I'm trying to write some JSF portlets within one portlet application
but encountered some problems concerning navigation rules when I
put more than one JSF portlet per portal page.

When I put just one portlet on my page everything concerning the
navigation rules (with <h:commandButton action="p1next" value="go on"
/> stuff) works fine and I get to the next view.

But when I put a second faces portlet on the page navigation and invoking
actions on backing beans in the second portlet just doesn't work at all.

If I remove both portlets and put the second portlet on the page again (so that
I'm having just one portlet again) this portlet works fine as well. So I assume
that navigation settings in faces-config.xml must be correct. It has
something to do
with the arrangement of two faces portlets on the portal page so that
the second one
stops working as expected.

I also tried to use distinct IDs for all ui-components and also 
distinct <from-output>-values but that doesn't help

Thanks
zeroconf


Attached are the important parts of my web.xml, faces-config.xml and portlet.xml

web.xml
============================

<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd";>

<web-app>
       <display-name>PROJECT_NAME</display-name>

       <context-param>
               <param-name>company_id</param-name>
               <param-value>liferay.com</param-value>
       </context-param>
       <context-param>
               <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
               <param-value>client</param-value>
       </context-param>
       <context-param>
               <param-name>javax.faces.application.CONFIG_FILES</param-name>
               <param-value>/WEB-INF/faces-config.xml</param-value>
       </context-param>
       <listener>

<listener-class>com.liferay.portal.servlet.PortletContextListener</listener-class>
       </listener>
       <listener>

<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
       </listener>
       <servlet>
               <servlet-name>PROJECT_NAME</servlet-name>

<servlet-class>com.liferay.portal.servlet.PortletServlet</servlet-class>
               <init-param>
                       <param-name>portlet-class</param-name>

<param-value>org.apache.myfaces.portlet.MyFacesGenericPortlet</param-value>
               </init-param>
               <load-on-startup>0</load-on-startup>
       </servlet>
       <servlet>
               <servlet-name>FacesServlet</servlet-name>
               <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
               <load-on-startup>1</load-on-startup>
       </servlet>
       <servlet-mapping>
               <servlet-name>PROJECT_NAME</servlet-name>
               <url-pattern>/PROJECT_NAME/*</url-pattern>
       </servlet-mapping>
       <taglib>
               <taglib-uri>http://java.sun.com/portlet</taglib-uri>

<taglib-location>/WEB-INF/tld/liferay-portlet.tld</taglib-location>
       </taglib>
</web-app>


faces-config.xml:
==================

<?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD
JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd";>

<faces-config xmlns="http://java.sun.com/JSF/Configuration";>
       <factory>

<faces-context-factory>org.apache.myfaces.context.MyFacesContextFactoryImpl</faces-context-factory>
       </factory>

       <!-- navigation for JSF portlet 1 -->
       <navigation-rule>
               <from-view-id>/jsp/jsf1/index.jsp</from-view-id>
               <navigation-case>
                       <from-outcome>p1next</from-outcome>
                       <to-view-id>/jsp/jsf1/n1.jsp</to-view-id>
               </navigation-case>
       </navigation-rule>
       <navigation-rule>
               <from-view-id>/jsp/jsf1/n1.jsp</from-view-id>
               <navigation-case>
                       <from-outcome>p1back</from-outcome>
                       <to-view-id>/jsp/jsf1/index.jsp</to-view-id>
               </navigation-case>
       </navigation-rule>

       <!-- navigation for JSF portlet 2 -->
       <navigation-rule>
               <from-view-id>/jsp/jsf2/index.jsp</from-view-id>
               <navigation-case>
                       <from-outcome>p2next</from-outcome>
                       <to-view-id>/jsp/jsf2/n1.jsp</to-view-id>
               </navigation-case>
       </navigation-rule>
       <navigation-rule>
               <from-view-id>/jsp/jsf2/n1.jsp</from-view-id>
               <navigation-case>
                       <from-outcome>p2back</from-outcome>
                       <to-view-id>/jsp/jsf2/index.jsp</to-view-id>
               </navigation-case>
       </navigation-rule>

</faces-config>

portlet.xml
=============================

<portlet>
               <portlet-name>jsf2</portlet-name>
               <display-name>jsf2</display-name>

<portlet-class>org.apache.myfaces.portlet.MyFacesGenericPortlet</portlet-class>
               <init-param>
                       <name>default-view</name>
                       <value>/jsp/jsf2/index.jsp</value>
               </init-param>
               <supports>
                       <mime-type>text/html</mime-type>
               </supports>
               <portlet-info>
                       <title>jsf2</title>
                       <short-title>jsf2</short-title>
                       <keywords>jsf2</keywords>
               </portlet-info>
</portlet>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to