0
votes

The scenario is a mobile page developed with JSF and Primeface Mobile. I want to navigate in the same xhtml page between multiple pages. When I click a button in the main page the content must be loaded from managed bean in the second page. I followed this example http://www.primefaces.org/showcase/mobile/navigation.xhtml , but I can't navigate, I have the follow message 'No navigation case match for viewId mobile.xhtml, action #{myManagedBean.gotoSecond} and outcome pm:second'. Here the xhtml code

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
     xmlns:p="http://primefaces.org/ui"
     xmlns:pm="http://primefaces.org/mobile">

    <f:view renderKitId="PRIMEFACES_MOBILE" />

    <h:head>
    </h:head>

    <h:body>

      <pm:page id="first">
        <pm:header title="Page 1"></pm:header>

        <pm:content>
            <h:form>
                <p:commandButton value="Ajax Action" action="#{myManagedBean.gotoSecond}"/> 

            </h:form>
        </pm:content>
      </pm:page>

      <pm:page id="second">
        <pm:header title="Page 2"></pm:header>

        <pm:content>
            <p>Page 2 content.</p>
            <p:button outcome="pm:first" value="Go Back" />

            <h:form>
              #{myManagedBean.hello}
            </h:form>

        </pm:content>
      </pm:page> 

    </h:body>

  </html>

And the managed bean method

public String gotoSecond(){
   return "pm:second";
}
1

1 Answers

0
votes

You need this in your faces config file:

<application>
    <navigation-handler>
        org.primefaces.mobile.application.MobileNavigationHandler
    </navigation-handler>
</application>