0

テーブルに dataExporter コンポーネントを追加しようとしています。最初に、 pagination facet の横に{Exporters}があり、その後、何度も試行した後、コンソールでこのエラーが発生しました

変更を閉じる際の HTML ネスト警告: 要素の更新が明示的に閉じられていません

私もそれを解決しましたが、Exporter ファセットには何も表示されません。私はそれをグーグルで調べたところ、このコマンドリンクがフォームを送信するため、ページにフォームが必要であることがわかりました。フォームが必要です。

ここでの私の質問は、この例を私のプロジェクトに適用する方法です。

これが私のコードです。

<ui:composition template="/template.xhtml">
    <ui:define name="title">
        <h:outputText value="#{bundle.ViewLfmTitle}"></h:outputText>
    </ui:define>
    <ui:define name="body">
        <h:panelGroup id="messagePanel" layout="block">
            <h:messages errorStyle="color: red" infoStyle="color: green"
                        layout="table" />
        </h:panelGroup>
        <p:dialog header="Add Task" widgetVar="dlg" position="center center"
                  onShow="PF('dlg').initPosition()" modal="true" closeOnEscape="true"
                  resizable="false">
            <h:form>

                <h:panelGrid columns="2">
                    <p:outputLabel value="#{bundle.CreateTaskLabel_name}" for="name" />
                    <p:inputText id="name"
                                 value="#{ViewLfmJpaController.newTaskDTO.name}"
                                 title="#{bundle.CreateTaskTitle_name}" />
                    <p:outputLabel value="#{bundle.CreateTaskLabel_durationPerMonth}"
                                   for="durationPerMonth" />
                    <p:inputText id="durationPerMonth"
                                 value="#{ViewLfmJpaController.newTaskDTO.duration}"
                                 title="#{bundle.CreateTaskTitle_durationPerMonth}" />
                    <p:outputLabel value="#{bundle.CreateTaskLabel_startDate}"
                                   for="startDate" />
                    <p:calendar id="startDate"
                                value="#{ViewLfmJpaController.newTaskDTO.startDate}"
                                title="#{bundle.CreateTaskTitle_startDate}" pattern="d MMM yyyy"
                                effect="fold">
                        <f:convertDateTime pattern="d MMM yyyy" />
                    </p:calendar>
                    <p:outputLabel value="#{bundle.CreateTaskLabel_endDate}"
                                   for="endDate" />
                    <p:calendar id="endDate"
                                value="#{ViewLfmJpaController.newTaskDTO.endDate}"
                                title="#{bundle.CreateTaskTitle_endDate}" pattern="d MMM yyyy"
                                effect="fold">
                        <f:convertDateTime pattern="d MMM yyyy" />
                    </p:calendar>
                    <f:facet name="footer">

                        <p:commandButton value="Add"
                                         actionListener="#{ViewLfmJpaController.addTask}" update="Matrix"
                                         oncomplete="PF('dlg').hide()" />
                    </f:facet>


                </h:panelGrid>
            </h:form>
        </p:dialog>

        <p:dataTable id="Matrix" resizableColumns="true" scrollable="true"
                     scrollHeight="80%"
                     value="#{ViewLfmJpaController.selected.tasksDtoCollection}"
                     paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {Exporters}"
                     var="item" resizeMode="expand" paginator="true" rows="10"
                     style="margin-bottom:20px">
            <f:facet name="header">
                Logical Framewrok Matrix
            </f:facet>

            <f:facet name="{Exporters}">
                <p:commandLink>
                    <p:graphicImage name="../resources/images/pdf.jpg" width="24" />
                    <p:dataExporter type="pdf" target="Matrix" fileName="lfm" />
                </p:commandLink>
            </f:facet>
            <p:column headerText="Index" colspan="1">
                <c:forEach var="i" begin="1" end="#{ViewLfmJpaController.listSize}">
                    <p:outputLabel value="#{i}"></p:outputLabel>
                </c:forEach>
            </p:column>
            <p:column headerText="Task Title">
                <p:outputLabel value="#{item.name}"></p:outputLabel>
            </p:column>
            <p:column headerText="Start Date" colspan="3">
                <p:outputLabel value="#{item.formatedStartDate}"></p:outputLabel>
            </p:column>
            <p:column headerText="End Date" colspan="3">
                <p:outputLabel value="#{item.formatedEndDate}"></p:outputLabel>
            </p:column>
            <c:forEach var="i" begin="1"
                       end="#{ViewLfmJpaController.numberOfMonths}">
                <p:column headerText="m ${i}" colspan="1"></p:column>
            </c:forEach>
            <p:column headerText="Exptected Outcomes" colspan="4">
                <ui:repeat value="#{item.tasksExpectedOutcomesCollection}" var="teo">
                    <li><h:outputText value="#{teo.expectation}">


                        </h:outputText></li>
                </ui:repeat>
            </p:column>
        </p:dataTable>

        <p:commandButton value="Add Task" oncomplete="PF('dlg').show()"></p:commandButton>
    </ui:define>
</ui:composition>

4

1 に答える 1