2011-01-10 5 views
1

У меня есть то, что я думал, было простой настройкой навигации JSF, но когда я нажимаю h:commandButton, страница перезагружается, а не страница, которую я хочу загрузить. Лица-конфигурации сниппет здесь:Навигация JSF не работает в 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> 

файл index.xhtml содержит следующее:

<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> 

Это так просто. Может ли кто-нибудь сказать мне, почему он не работает?

Насколько я знаю, исходный результат приветствия должен использоваться h:commandbutton и загружать файл next.xhtml.

ответ

3

Ваши файлы .xhtml не .jsf

вы пробовали:

<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

Хорошее горе. Ты прав. Мое замешательство появилось в веб-дескрипторе, где я был использован для указания url-шаблона * .jsf и DEFAULT_SUFFIX .xhtml. Ура! – volvox

Смежные вопросы