JSF o:tabbedPane问题改变了SelectedIndex

时间:2011-12-16 16:48:17

标签: jsf-2 selectedindex openfaces

我正在使用JSF 2.0和OpenFaces <o:tabbedPane>

我有一些麻烦改变标签..我有一个包含四个jsf页面的索引。

像这样

<o:tabbedPane  loadingMode="client" tabGapWidth="3"  id="pestana"
                    tabClass="tab_form" rolloverTabClass="tab_form2" selectedTabClass="tab_form3"
                    tabAlignment="bottomOrRight" 
                    style="width:100%;" binding="#{GeneralBean.panelTabs}">
      <o:subPanel caption="1" styleClass="pestanas">
        <ui:include src="/datosDeLaCotizacion.jsf"/>

      </o:subPanel>
      <o:subPanel caption="2" styleClass="pestanas" disabled="true">
        <ui:include src="/datosDelProducto.jsf"/>    

      </o:subPanel>
      <o:subPanel caption="3" styleClass="pestanas" disabled="true">
          <ui:include src="/coberturas.jsf"/>

      </o:subPanel>

      <o:subPanel caption="4" styleClass="pestanas" disabled="true">
        <ui:include src="/confirmacion.jsf"/>

      </o:subPanel>
    </o:tabbedPane>

在jsf页面内..我有<h:commandButton>这样的表格

<h:commandButton value="Continuar" id="botonContinuar"
                             actionListener="#{GeneralBean.continuarCotizacionPaso1}"
                             action='Forms!form.Refresh'>
            </h:commandButton> 

当它转到Bean上的actionListener时第一次工作正常...并将<o:tabbedPane>更改为第二个<o:subPanel>但是!当我使用第二个<h:commandButton>的{​​{1}}不起作用时......没有到达Bean上的actionListener ......

如果你知道我做错了什么,请帮助我......谢谢!

1 个答案:

答案 0 :(得分:2)

首先,请注意<o:tabbedPane>应放在表单内(我认为在您的情况下, 在表单中)。其次,你提到你在JSF页面中有按钮的表单。这些页面是否包含在选项卡式窗格的<o:subPanel>中?

如果是这样,那么您实际上在页面上嵌套了表单,这是不允许的。如果这是真的,那么这种情况下的解决方案就像从包含的子页面中删除表单标签一样简单。