Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 以一种形式使用多个流体栅格_Jsf_Jsf 2_Primefaces_Jsf 2.2_Primefaces Extensions - Fatal编程技术网

Jsf 以一种形式使用多个流体栅格

Jsf 以一种形式使用多个流体栅格,jsf,jsf-2,primefaces,jsf-2.2,primefaces-extensions,Jsf,Jsf 2,Primefaces,Jsf 2.2,Primefaces Extensions,我正在使用Primefaces 5.2和FluidGrid Primefaces Extensions 3.1.0创建一个动态表单 我的表单分为几个小节,因此我创建了一个私有HashMap表单项;其中PDIDefinition表示表单的一个部分 在我看来,我当时: <ui:repeat var="pdi" value="#{FormGenerator.formItems.keySet().toArray()}" id="all"> <p:panel heade

我正在使用Primefaces 5.2和FluidGrid Primefaces Extensions 3.1.0创建一个动态表单

我的表单分为几个小节,因此我创建了一个私有HashMap表单项;其中PDIDefinition表示表单的一个部分

在我看来,我当时:

<ui:repeat var="pdi" value="#{FormGenerator.formItems.keySet().toArray()}" id="all">

        <p:panel header="#{pdi.getFragmentDefinition().getFragmentName()}" style="margin-bottom:1em; width:100%;">

            <pe:fluidGrid id="fluidGrid" value="#{FormGenerator.formItems.get(pdi)}" var="data"
                          hGutter="20" vGutter="10" widgetVar="fluidGridWdgt" 
                          >
                <pe:fluidGridItem type="stringValue" >
                    <div class="dynaFormLabel">
                        <p:outputLabel for="txt" value="#{data.label}"/>
                    </div>
                    <p:inputText id="txt" value="#{data.value}" />
                </pe:fluidGridItem>
                <pe:fluidGridItem type="integerValue">
                    <div class="dynaFormLabel">
                        <p:outputLabel for="int" value="#{data.label}"/>
                    </div>
                    <p:spinner id="int" value="#{data.value}" />
                </pe:fluidGridItem>
                <pe:fluidGridItem type="dateValue" styleClass="calendar">
                    <div class="dynaFormLabel">
                        <p:outputLabel for="cal" value="#{data.label}"/>
                    </div>
                    <p:calendar id="cal" value="#{data.value}" showOn="button"/>
                </pe:fluidGridItem>
            </pe:fluidGrid>
        </p:panel>
    </ui:repeat>

    <p:commandButton action="#{FormGenerator.saveValues}" process="form"/>

我在输入字段中输入了n、k和p。服务器上只存储了p

您的xhtml不完整,它缺少一个ui:重复打开标记谢谢。更新的问题您确定fluidGrid是问题所在吗?您尝试过不使用它,而所有的值都存储在不使用它的情况下?我注意到,无论在最后一个循环中创建了多少个元素,它们都可以工作。我想这与ui的组合有关:repeat和FluidGrid。根据说明,它可能是重复的widgetVar,因此我添加了widgetVar=fluidGridWdgt{loop.index+1},但在fluidGrid中loop.index是空的。loop is varStatus=来自ui:repeatp.S.的循环:循环变量在pe:fluidGrid之外不为空
   <p:dataList var="pdi" value="#{FormGenerator.formItems.keySet()}" id="all" varStatus="loop" type="none" >
        <p:panel id="panel" header="#{pdi.getFragmentDefinition().getFragmentName()}" style="margin-bottom:1em; width:100%;">
            <pe:fluidGrid  id="fluidGrid" value="#{FormGenerator.formItems[pdi]}" var="data"
                           hGutter="20" vGutter="10" >

                <pe:fluidGridItem type="stringValue"  id="txt_">
                    <div class="dynaFormLabel">
                        <p:outputLabel for="txt" value="#{FormGenerator.formItems[pdi][data.id].getData().label}"/>
                    </div>
                    <p:inputText id="txt" value="#{FormGenerator.formItems[pdi][data.id].getData().value}"/>
                </pe:fluidGridItem>
                <pe:fluidGridItem type="integerValue" id="int_">
                    <div class="dynaFormLabel">
                        <p:outputLabel for="int" value="#{FormGenerator.formItems[pdi][data.id].getData().label}"/>
                    </div>
                    <p:spinner id="int" value="#{FormGenerator.formItems[pdi][data.id].getData().value}" />
                </pe:fluidGridItem>
                <pe:fluidGridItem type="dateValue" id="cal_">
                    <div class="dynaFormLabel">
                        <p:outputLabel for="cal" value="#{FormGenerator.formItems[pdi][data.id].getData().label}"/>
                    </div>
                    <p:calendar id="cal" value="#{FormGenerator.formItems[pdi][data.id].getData().value}" showOn="button"/>
                </pe:fluidGridItem>

            </pe:fluidGrid>
        </p:panel>
    </p:dataList>
   <p:dataList var="pdi" value="#{FormGenerator.formItems.keySet()}" id="all" varStatus="loop" type="none" >
        <p:panel id="panel" header="#{pdi.getFragmentDefinition().getFragmentName()}" style="margin-bottom:1em; width:100%;">
            <pe:fluidGrid  id="fluidGrid" value="#{FormGenerator.formItems[pdi]}" var="data"
                           hGutter="20" vGutter="10" >

                <pe:fluidGridItem type="stringValue"  id="txt_">
                    <div class="dynaFormLabel">
                        <p:outputLabel for="txt" value="#{FormGenerator.formItems[pdi][data.id].getData().label}"/>
                    </div>
                    <p:inputText id="txt" value="#{FormGenerator.formItems[pdi][data.id].getData().value}"/>
                </pe:fluidGridItem>
                <pe:fluidGridItem type="integerValue" id="int_">
                    <div class="dynaFormLabel">
                        <p:outputLabel for="int" value="#{FormGenerator.formItems[pdi][data.id].getData().label}"/>
                    </div>
                    <p:spinner id="int" value="#{FormGenerator.formItems[pdi][data.id].getData().value}" />
                </pe:fluidGridItem>
                <pe:fluidGridItem type="dateValue" id="cal_">
                    <div class="dynaFormLabel">
                        <p:outputLabel for="cal" value="#{FormGenerator.formItems[pdi][data.id].getData().label}"/>
                    </div>
                    <p:calendar id="cal" value="#{FormGenerator.formItems[pdi][data.id].getData().value}" showOn="button"/>
                </pe:fluidGridItem>

            </pe:fluidGrid>
        </p:panel>
    </p:dataList>
form:form
form:all:0:fluidGrid:txt:n
form:all:0:fluidGrid:TV5Wd2IL:txt:
form:all:0:fluidGrid:CYqNHGWx:int_input:
form:all:0:fluidGrid:Y6QIaH1C:cal_input:
form:all:1:fluidGrid:hvi81zhh:txt:k
form:all:1:fluidGrid:iY1YsIDm:txt:
form:all:2:fluidGrid:BA6slTyQ:txt:p