2011-01-10 11 views
1

Ich habe, was ich dachte, war einfach JSF Navigation Setup, aber wenn ich die h:commandButton schlug die Seite neu geladen, nicht die Seite, die ich laden möchte. Die Gesichter-config-Schnipsel ist hier:JSF Navigation funktioniert nicht in RichFaces

<navigation-rule> 
    <from-view-id>/index.jsf</from-view-id> 
    <navigation-case> 
     <from-outcome>hello</from-outcome> 
     <to-view-id>/next.jsf</to-view-id> 
    </navigation-case> 
</navigation-rule> 

die index.xhtml Datei enthält diese:

<f:view> 
    <a4j:region id="topRegion"> 
     <rich:page pageTitle="myapp" markupType="xhtml" id="top"> 
<f:facet name="header"> 
<h:form> 
    <rich:toolBar height="45" itemSeparator="disc"> 
     <rich:toolBarGroup location="left"> 
      <h:form name="selectForm"> 
       <h:panelGrid columns="5" style="padding: 2px;"> 
        <h:outputText style="text-align: center" value="Node Select " /> 
        <h:selectOneMenu id="nodes" value="#{MyBacking.chosenNode}"> 
         <f:selectItems value="#{MyBacking.nodes}" /> 
        </h:selectOneMenu> 

        <h:commandButton value="Retrieve" styleClass="ctrlBtn" 
         id="retrieveBtn" style="margin-bottom: 2px;" 
         action="hello" 
         image="/img/btnRetrieve26.png" /> 
       </h:panelGrid> 
      </h:form> 
     </rich:toolBarGroup> 
    </rich:toolBar> 
</h:form> 

Es ist so einfach. Kann mir jemand sagen, warum es nicht funktioniert?

Soweit ich weiß, sollte die von-Ergebnis von Hallo von der h:commandbutton verwendet werden und next.xhtml Datei laden.

Antwort

3

Ihre Dateien sind .xhtml .jsf nicht

haben Sie versucht:

<navigation-rule> 
    <from-view-id>/index.xhtml</from-view-id> 
    <navigation-case> 
     <from-outcome>hello</from-outcome> 
     <to-view-id>/next.xhtml</to-view-id> 
    </navigation-case> 
</navigation-rule> 
+0

Gute Trauer. Du hast recht. Meine Verwirrung kam aus dem Webdeskriptor, wo ich verwendet wurde, um ein URL-Muster von * .jsf und ein DEFAULT_SUFFIX von .xhtml zu spezifizieren. Prost! – volvox