Проблемы с использованием панели вкладок Richfaces с динамическими вкладками

Я видел на демонстрации Richfaces, что лучший способ использовать rich:tabPanel с динамическими вкладками — это a4j:repeat, но это не работает в моем приложении.

Это мой код:

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
    <title>Java EE 6 Starter Application</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
</h:head>
<h:body>
    <h:form>
        <div id="topArea">
            <ui:insert name="topArea"/>
        </div>
        <div id="mainArea">
            <ui:insert name="mainArea"/>  
        </div>
        <div id="footerArea">
            <ui:insert name="footerArea"/>
        </div>
    </h:form>
</h:body>
</html>

В topArea у меня есть такое меню:

<rich:panelMenu>
    <rich:panelMenuItem label="Clienti" name="Clienti"  action="#{tabsBean.addTab()}"     render="tabsPanel" />                                     
</rich:panelMenu>

в mainArea у меня это tabPanel:

<rich:tabPanel id="tabsPanel" switchType="client"  activeItem="#{tabsBean.activeTab}" >
    <a4j:repeat  value="#{tabsBean.tabs}" var="tab">
        <rich:tab name="#{tab.name}">
            <f:facet name="header">#{tab.name}</f:facet>
            <h:form>
                <h:outputText value="Enter Name:" />
                <h:inputText id="input" />
                <h:outputText value="Enter you interests:" />
                <h:inputTextarea cols="17" rows="3" />
                <h:outputText value="Choose your favourite color" />
                <h:selectOneMenu>
                    <f:selectItem itemLabel="Red" itemValue="0" />
                    <f:selectItem itemLabel="Black" itemValue="1" />
                    <f:selectItem itemLabel="Green" itemValue="2" />
                    <f:selectItem itemLabel="White" itemValue="3" />
                </h:selectOneMenu>
            </h:form>
        </rich:tab>
    </a4j:repeat>
</rich:tabPanel>

Мои проблемы:

  • вкладки не создаются
  • Почему витрина использует вложенную форму? Не вызовут ли вложенные формы проблемы?

Спасибо


person Skizzo    schedule 05.03.2013    source источник
comment
какую версию Richfaces вы используете?   -  person Satyajitsinh Raijada    schedule 05.03.2013


Ответы (1)


Динамические вкладки с a4j:repeat поддерживаются только с версии 4.3.0. Подробности см. здесь: http://www.bleathem.ca/blog/2013/01/dynamic-panels-with-a4jrepeat.html

Для более ранних версий можно использовать c:forEach items="#{tabsBean.tabs}" var="tab".

person Andrey    schedule 07.03.2013
comment
Я пытался использовать c:forEach items=#{tabsBean.tabs} var=tab, но в этом случае у меня возникла следующая проблема на вкладках a4j:commandLink , a4j:commandButton не работает при первом нажатии, но работает только после второй щелчок - person Skizzo; 07.03.2013